我需要从循环中自定义一些帖子<交易如下:我的网站设置为每页10篇帖子。在帖子#2、#5、#7(每页)上,我想显示特定的背景。这种问题的最佳解决方案是什么?
如何在_loop上跟踪帖子编号
2 个回复
最合适的回答,由SO网友:John P Bloch 整理而成
这应该可以做到:
$real_current_post = $wp_query->current_post + 1;
switch( $real_current_post ){
case 2:
// Do something for 2
break;
case 5:
// Do something for 5
break;
case 7:
// Do something for 7
break;
}
您可能需要全球化$wp\\u查询,但只要您使用普通模板层次结构,它就应该已经在范围内了。如果您确实使用global $wp_query;
, 在循环开始之前使用它。SO网友:Peter Rowell
处理这个问题的一种方法是使用CSS伪类。从好的方面来看,它可以防止您在循环代码中做出硬连接的决策,从坏的方面来看,它在旧的/坏的浏览器中不起作用,例如MSIE 6。
div#content div.post:nth child(2),div#content div.post:nth child(5),div#content div.post:nth child(7){背景色:#FF0;}
如果您喜欢这种方法,但它必须在所有浏览器中工作,那么您可以在jQuery中执行上述操作。虽然在处理IE6这样的恐龙时,我试图让主要的设计元素优雅地退化,但我已经不再为这样的东西迎合它了。它的大多数用户要么在公司局域网内,要么严重落后于最终用户,这两者都不在我们的主要人口统计数据中。
结束