符合Pagination with custom loop. 我使用自定义循环来显示flash游戏。对于使用一个类别(mydomain/category/categoryName)中的帖子在页面上分页,我使用了:
add_action( \'pre_get_posts\', \'wpse5477_pre_get_posts\' );
function wpse5477_pre_get_posts( &$wp_query )
{
if ( $wp_query->is_category() ) {
$wp_query->set( \'post_type\', \'game\' );
$wp_query->set( \'posts_per_page\', 9 );
}
}
我的网站主页上有一个部分,其中显示了每个类别的三个游戏。但根据上面的代码,我不能只显示3个游戏,即使我在数组(“post\\u per\\u page”,3)或smth中这样确定,因为这个数字已经在$wp查询中确定了。我怎么能一石二鸟呢?谢谢
最合适的回答,由SO网友:Jan Fabry 整理而成
您可以检查变量是否存在,这样就不会覆盖它:
add_action( \'pre_get_posts\', \'wpse7262_pre_get_posts\' );
function wpse7262_pre_get_posts( &$wp_query )
{
if ( $wp_query->is_category() ) {
if ( ! array_key_exists( \'post_type\', $wp_query->query_vars ) ) {
$wp_query->set( \'post_type\', \'game\' );
}
if ( ! array_key_exists( \'posts_per_page\', $wp_query->query_vars ) ) {
$wp_query->set( \'posts_per_page\', 9 );
}
}
}