更改 WordPress 自定义文章类型存档页面的文章数

发布时间:2022-05-20

通常,每页显示的文章数量默认为仪表板设置 > 阅读 > 博客页面至多显示 的值,您可能希望常规的文章采用这个数量,但是自定义文章类型不要采用。要更改自定义文章类型的存档页面中显示的文章数量,您可以使用带有一些传入参数的pre_get_posts操作来实现。

自定义文章类型存档页面

pre_get_posts就像在页面上运行的主查询的预过滤器 – 如果您要更改这样的页面,最好使用pre_get_posts钩子而不需要采用自定义的WP_Query()

add_action( 'pre_get_posts', 'tl_project_page' ); // 在项目存档页面显示所有项目 function tl_project_page( $query ) {     if ( !is_admin() && $query->is_main_query() && is_post_type_archive( 'project' ) ) {             $query->set( 'posts_per_page', '-1' ); // 要显示多少个,就修改 -1 为具体的数字即可     } }

如上,第四行的project 是自定义文章类型,通过将posts_per_page的值设置为-1,可以让项目(project)存档中显示所有项目文章。如果你希望每页显示20个,就修改 -120 即可。如果是其他文章类型,就修改 project 为你的文章类型即可。

多个自定义文章类型存档页面

如果您想将多个自定义文章类型存档文章数量设置为相同的值,例如不限文章数量,您可以使用数组来包含多个自定义文章类型,比如:

is_post_type_archive( array('project', 'treatment', 'testimonial') )

自定义分类存档页面

同样,如果您想更改自定义分类页面的数量,可以参考下面的代码:

add_action( 'pre_get_posts', 'tl_project_tax_page' ); // 在 project_category 分类法的分类存档页面显示所有文章 function tl_project_tax_page( $query ) {     if ( !is_admin() && $query->is_main_query() && is_tax('project_category') ) {             $query->set( 'posts_per_page', '-1' ); // 要显示多少个,就修改 -1 为具体的数字即可     } }

根据你的实际自定义分类法,修改 is_tax() 的值,以及将 posts_per_page 的-1改为您想要的数字即可。

使用!is_admin()是为了不影响后端显示,如果您确实要更改后端列表,请不要使用此条件,使用 $query->is_main_query() 是为了确保不影响页面上的其他查询。

其他查询参数

您可以使用多个参数来更改查询,比如:

$query->set( 'orderby', 'title' ); $query->set( 'order', 'ASC' ); $query->set( 'post__not_in', array(7,11) ); // 排除特定id的文章 $query->set( 'cat', '-1,-1347' ); // 排除特定id的分类 $query->set( 'cat', '123' ); // 包含特定的分类

更多的参数,可以参考WP_Query

大熊wordpress凭借多年的wordpress企业主题制作经验,坚持以“为用户而生的wordpress主题”为宗旨,累计为2000多家客户提供品质wordpress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。大熊wordpress能坚持多年,是因为我们一直诚信。我们明码标价(wordpress做网站需要多少钱),从不忽悠任何客户,我们的报价宗旨:“拒绝暴利,只保留合理的利润”。如果您有网站建设、网站改版、网站维护等方面的需求,请立即咨询右侧在线客服或拨打咨询热线:18324743309,我们会详细为你一一解答你心中的疑难。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

相关文章

写给所有做网站的朋友的一封信

写给所有做网站的朋友的一封信

现在就开始执行“1+N”互联网推广和没有开始执行的人,一两天看不出任何区别; 一两个月看来差异也是微乎其微的;但在2-5年的长远时间来看的时候,你的高质量询盘不断增加,你的互联网资产已经建立完成,对手已经很难匹敌,现在你看到这段文字的时候就是最好的开始,现在就是最好的时候,马上开始“1+N”体系的整体互联网推广吧,我们和你一起,开创互联网大未来!

点击查看详情

准备开启WordPress网站建设推广?

我们相信高端漂亮的网站不应该是昂贵的,这就是wordpress对每个人都是免费的原因
wordpress建站免费入门,并提供价格合理的wordpress建站套餐。