这是我认为正确的解决方案,也是米洛评论中提到的解决方案(如果我没有弄错的话)。
function alter_ppp_for_tags_wpse_88337($qry) {
if ( is_tag() && $qry->is_main_query() ) {
$qry->set(\'posts_per_page\',\'-1\');
}
}
add_action(\'pre_get_posts\',\'alter_ppp_for_tags_wpse_88337\');
使用
query_posts
将导致对数据库的两个请求—主查询和使用
query_posts
. 通过在上使用筛选器
pre_get_posts
在获取帖子之前更改主查询,因此只对数据库进行一次访问。
参考号:
http://codex.wordpress.org/Class_Reference/WP_Query