get_the_content以字符串形式返回一个数组 - 如何从中获取纯文本?

时间:2018-04-06 09:18:33

标签: php wordpress

我正在使用Jevelin主题进行wordpress,我即将自定义调用search.php的{​​{1}}。

在我的网站上搜索某些内容并找到正常页面时,我希望以纯文本显示内容的200个字符。但是这个content.php返回一个数组(我认为)作为一个字符串,我不知道为什么。

它看起来像:

echo wp_strip_all_tags($content, true); ......等等。

的search.php

[section id="75c1f1dc25182497ebcc66dabf9ce8a5" width="standard" padding="0" padding_mobile="{"padding_mobile":"off","on":{"padding":"60px 0px 60px 0px"}}" columns_height="" visibility="everywhere" elememt_alignment="default" strech_edge="disabled" background_image="" background="{"background_type":"none","none":{"background_image_options":"cover"},"parallax":{"parallax_options":""},"parallax_video":{"parallax_video_url":""},"video":{"mp4_url":"","webm_url":"","ogv_url":""}}" background_color="#ffffff" background_color_overlay="" border_radius="" margin="0px 0px 0px 0px" margin_mobile="{"margin_mobile":"off","on":{"margin":"0px 0px 0px 0px"}}"

content.php

<ul class="search-list list-unstyled">
<?php
    if ( have_posts() ) :
        while ( have_posts() ) : the_post();

            if( get_post_format() ) :
              get_template_part( 'content', 'format-'.get_post_format() );
                    else :
                        get_template_part( 'content' );
                    endif;

                endwhile;
            else :

                get_template_part( 'content', 'none' );

            endif;
?>
</ul>

2 个答案:

答案 0 :(得分:1)

它不是一个数组的短代码,改变content.php如下:

<?php 
      if(has_excerpt()) {
        get_the_excerpt();  
      }
      else {
        $content = get_the_content();
        echo do_shortcode($content); // HERE: $content changed to do_shortcode($content);
        //echo wp_strip_all_tags($content, true);
      }         

    ?>

答案 1 :(得分:0)

就我而言

<?= strip_tags(do_shortcode(get_post_field('post_content', get_the_ID()))) ?>

是可行的解决方案