在不同页面上显示同一类别的不同数量的帖子

时间:2011-01-19 作者:glazsasha

符合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查询中确定了。我怎么能一石二鸟呢?谢谢

1 个回复
最合适的回答,由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 );
        }
    }
}

结束

相关推荐

Paging in a sidebar mini loop

我切换到了另一个主题,并决定用其中的一些默认代码制作一个小部件,在自定义循环中显示我的美味帖子、推特帖子、su帖子和youtube视频(不包括主循环中的这些类别)。但是现在。。。分页不再工作。我制作了这个小部件:// =============================== EDL Sidebar Posts Widget ====================================== class SidebarPosts extends WP_Widget { &#x