Get_post和wp_autop(删除筛选器)

时间:2013-12-01 作者:MultiformeIngegno

我刚刚在get\\u posts函数中转换了query\\u posts函数。

这是我的旧功能:

<?php
// The Query
query_posts( \'cat=170&showposts=4\' );
remove_filter(\'the_excerpt\', \'wpautop\');
// The Loop
while ( have_posts() ) : the_post();
    echo \'<h3 style="font-size:14px"><a href="\';the_permalink(); echo \'" title="\';the_title(); echo \'"> \'; the_title(); echo \'</a></h3> <div class="ultimipostexcerpt">\'; the_excerpt(); echo \'</div>\';
endwhile;
// Reset Query
wp_reset_query();
?>
这是我的新手机

    <?php
$args = array( \'posts_per_page\' => 4, \'category\' => 170 );
$tag_posts = get_posts( $args );
    foreach ( $tag_posts as $post ) :
      setup_postdata( $post ); ?>
        <h3 style="font-size:14px"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3><div class="ultimipostexcerpt"><?php the_excerpt(); ?></div>
    <?php endforeach;
    wp_reset_postdata(); ?>
问题是现在remove_filter(\'the_excerpt\', \'wpautop\'); 指令不再起作用。。我试着在get\\u posts前后放置它($args);,不影响输出..:(如何删除get\\u帖子的过滤器?

1 个回复
SO网友:Nicolai Grossherr

您可以创建自己的摘录功能:

    function wpse125086_custom_strip_tags_excerpt() {
        global $post;
        $p_obj = get_post($post->ID);
        $p_exp = $p_obj->post_excerpt;
        $p_exp = apply_filters(\'the_excerpt\', $p_exp);
        $un_p = array("<p>", "</p>");
        $p_exp = str_replace($un_p, "", $p_exp);
        echo $pcont;
    }
但总的来说,我在思考,而不是转变为get_posts() 最好还是一起去WP_Query. 在这种情况下,您使用的标准过滤器应该可以正常工作。

<小时>

Edit:

如果是关于开盘/收盘的<p></p> 标签,你可以get_the_excerpt(), 因为它没有添加这些。你必须回显它才能打印出摘录。

echo get_the_excerpt();

结束

相关推荐

Get 1 more post in loop

例如,在简单循环中:$loop = new wp_query(array(\'posts_per_page\' => 3)); while($loop->have_posts()) : $loop->the_post(); if(get_post_meta($post->ID, \'skip_me\', true) == true){ // do something to ask for one more post, &#x