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

2022-08-05

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

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

自定义文章类型存档页面

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

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

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

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

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

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

自定义分类存档页面

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

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

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

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

其他查询参数

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

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

更多的参数,可以参考WP_Query

资源下载此资源仅限注册用户下载,请先
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

免责声明 1、本站所发布的全部内容源于互联网搬运,(包括源代码、软件、学习资料等)本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的23个小时之内,从您的电脑或手机中彻底删除上述内容。
2、访问本站的用户必须明白,本站对所提供下载的软件和程序代码不拥有任何权利,其版权归该软件和程序代码的合法拥有者所有,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如本站不慎侵犯您的版权请联系我们,我们将及时处理,并撤下相关内容!敬请谅解! 侵删请致信E-mail:messi0808@qq.com
3、如下载的压缩包需要解压密码,若无特殊说明,那么文件的解压密码则为www.77code.com
4、如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

琪琪源码网 cms教程 更改 WordPress 自定义文章类型存档页面的文章数 https://www.77code.com/zh/cms/8918.html

相关文章