首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为分类法术语模板设置posts_per_page

为分类法术语模板设置posts_per_page
EN

WordPress Development用户
提问于 2020-07-25 02:27:17
回答 1查看 375关注 0票数 1

我设置了一个自定义分类法术语页面,用于显示与该术语相关的帖子(分类法-insight_type-academia.php)。我想我可以使用下面的代码来限制页面上的帖子:

https://developer.wordpress.org/reference/functions/is_税/税

代码语言:javascript
复制
add_action( 'pre_get_posts', function( $query) {
    if ( $query->is_tax( 'academia', 'insight_type' ) ) {
        $query->set( 'posts_per_page', 1 );
    }
} );

我在分类法中增加了这个词,但它似乎不起作用。我可以让它用于分类学,但不是术语。

有办法这样做吗?

谢谢

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2020-07-25 02:56:14

您拥有的分类法模板(taxonomy-insight_type-academia.php)是以(taxonomy-{taxonomy}-{term}.php)的形式存在的,is_tax()的格式是is_tax( '', '' ),所以在pre_get_posts回调中,您应该:

代码语言:javascript
复制
// Use this.
if ( $query->is_tax( 'insight_type', 'academia' ) )

// Not this.
if ( $query->is_tax( 'academia', 'insight_type' ) )

此外,为了避免与其他查询发生冲突,您还应该检查当前的查询是否是主查询,并检查它是否是管理端请求。

代码语言:javascript
复制
if ( ! is_admin() && $query->is_main_query()
    && $query->is_tax( 'insight_type', 'academia' )
)

你可能已经知道了,但我觉得这是个很好的提醒。:)

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/371741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档