过滤单页和博客页面的循环

时间:2015-08-02 作者:mishu

当循环在单个页面(也在博客页面)中启动时,我想启动一个div。并在循环结束时结束该div。

显然,使用任何过滤器挂钩或行动挂钩。

提前感谢

1 个回复
最合适的回答,由SO网友:Adam 整理而成

例如(根据需要进行调整):

add_action(\'loop_start\', function() {
   if ( is_single() || is_home() )
       echo \'<div>\';
});

add_action(\'loop_end\', function() {
   if ( is_single() || is_home() )
       echo \'</div>\';
});
如果希望以归档页等为目标,可能需要进一步调整条件语句-了解有关template hierarchy here.

要进一步了解这些挂钩,您应该检查the_post()have_posts() 中的方法WP_Query 中的类wp-includes/query.php.

但为了你的快乐。。。

loop_start 挂钩:

/**
 * Fires once the loop is started.
 *
 * @since 2.0.0
 *
 * @param WP_Query &$this The WP_Query instance (passed by reference).
 */
do_action_ref_array( \'loop_start\', array( &$this ) );
loop_end 挂钩:

/**
 * Fires once the loop has ended.
 *
 * @since 2.0.0
 *
 * @param WP_Query &$this The WP_Query instance (passed by reference).
 */
do_action_ref_array( \'loop_end\', array( &$this ) );

结束

相关推荐

301 Redirect Loop

我有wordpress网站托管在openshift上,比如说。com。我正在重定向示例。com到www.example。com(非www到www)。我已经为www和非www版本创建了别名,并用app name更新了我的cname。我试着将非www cname记录指向www版本,但除了主页(相同的301重定向循环)外,它仍在工作,所以我将非www cname还原回应用程序url。现在www版本正在提供服务,但非www版本正在通过重定向到自身来创建301重定向循环。我的wordpress网站url是www.e