循环前后的输出

时间:2013-07-19 作者:Poe

我想加入循环,即have\\u posts()也许?并在前后输出一些代码。是否有一个过滤器,这样我就可以在插件中使用它,而无需编辑主题?

2 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

功能the_post() (source) 触发操作loop_start 当它第一次在循环中使用时。这在每个WP_Query 循环,因此您可能希望检查当前查询是否为“main”查询(假设这是您希望针对的查询)

add_action( \'loop_start\', \'wpse107113_loop_start\' );
function wpse107113_loop_start( $query ){
     if( $query->is_main_query() ){

     }
}
上次的时间have_posts() 被称为触发动作loop_end (source), 与上述类似:

add_action( \'loop_end\', \'wpse107113_loop_end\' );
function wpse107113_loop_end( $query ){
     if( $query->is_main_query() ){

     }
}

SO网友:tnchuntic

感谢@Stephen Harris提供上述答案:)

非常重要的一点是,在使用循环开始/结束时,您需要下面的代码来防止不必要的代码触发。

if ( $query->is_main_query() ):

    ... code here

endif;

结束

相关推荐

Open Graph in posts loop page

我有一个循环,所有帖子都有自己的like按钮,当我点击它时,facebook窗口会出现,但它不会显示正确的帖子缩略图。我认为这是正常的,因为在一个帖子循环中,缩略图是多个的,所以脚本无法判断哪一个去了哪里——相反,like按钮在我的单个帖子页面上工作得很好。所以我的问题是:有没有可能让类似facebook的按钮在循环页面上正常工作,这样即使页面中有10篇帖子,它也能抓取正确的帖子缩略图?也许我应该有多个开放图元,为循环中的每个帖子设置一个集合,但我想这只会造成混乱,我能做些什么吗?