根据 定制循环的分页. 。我使用自定义循环进行显示闪存游戏。为了在页面上使用一个类别的帖子(mydomain/cattory/catergoryName)进行分页:我使用了:

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_per_page”,3)或这样的smth中确定,因为这个数字已经在$ wp-Query中确定。我如何用一块石头杀死两只鸟?谢谢。

有帮助吗?

解决方案

您可以检查是否存在变量,因此您不会覆盖它:

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 );
        }
    }
}
许可以下: CC-BY-SA归因
scroll top