我刚刚在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帖子的过滤器?
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();