0

我有一个我无法解决的问题。正如标题所说,我想在每个类别中定义不同数量的帖子。我尝试查询帖子但不工作,他们留下所有类别的帖子,我也尝试使用 pre_get_posts 并且这有效。但它只适用于父类,找不到一个功能也适用于子类。

这就是我要的:

Category Parent 1 > Posts per page 5
 subcategory > post per page 5

Category Parent 2 > Posts per page 10
 subcategory > post per page 10

Category Parent 3 > Posts per page 20
 subcategory > post per page 20

我尝试使用 pre_get_posts 但 is_category 仅适用于父类别而子类别不适用。

 function wpse47875_change_posts_per_page( $query ) {

    if ( is_category( 'portadas-facebook' ) ){
        //Display 4 posts for category 1
        $query->set( 'posts_per_page', 1);
    }


}
add_action('pre_get_posts', 'wpse47875_change_posts_per_page', 1);

任何想法?

谢谢

4

1 回答 1

0

我认为cat_is_ancestor_of()函数应该做你想做的事。

$portadasCat = get_category_by_slug( 'portadas-facebook' );

$currentCatId = get_query_var( 'cat' );

if ( is_category( $portadasCat ) || cat_is_ancestor_of( $portadasCat, $currentCatId ) ){
        //Display 4 posts for category 1
        $query->set( 'posts_per_page', 1);
}
于 2013-02-17T09:42:01.107 回答