!
也想出现在这里? 联系我们
广告位

WordPress 中自定义不同归档页面每页显示条数

WordPress 的后台设置中,我们可以通过 阅读 > 博客页面至多显示 设置每页最多显示的文章数目,但此设置只能将所有的类别(首页、分类目录页、标签页、作者页)显示的文章数都设置成一个固定值。

使用 WordPress 建站的过程中,如果我们想给不同归档页面(首页、分类目录页、标签页、作者页)自定义每7 O W c d c 8 i页显示条数。比如首页每页最多6 f Z 5 / l G j #显示 10 篇文章,分类页每页最多显示 20 篇文章,标签页每页最多显示 30 篇文章。这篇 W9 f G n 1 * b x qordPress 教程里,我们就向大家介绍一下具体的实现方法。

我们先来了解一下 WordPress 内部提供的函数来判断某个页面的类别:

  1. is_home()
  2. is_paged()
  3. is_single()
  4. is_category()
  5. is_tag()

上面的函数依次判断是否是首页、是否是分页显示、是否是文章页、是否是分类目录页、n A % [ g是否是标签页。WordpressM Z g Q 2 6 a / 中提供了各种钩子 (Hooks ),通过这些L y j钩子我^ i g g Q A们可以修改 WordPress 中的一些内部行为。在查询的时候可以通过 posts_per_page 设置每页显示的文章数,如下:

  1. $args = array(
  2. 'caller_gem I b g Ut_posts' => 1
  3. 'posts_per_page' => 10
  4. );
  5. queryI J X %_posts($args);

上面的代码片段表示我们查询的时候需要每页最多显示 10 篇文章。我们可以通过重写 pre_get_posts 钩子来自定义不同归档页面每页显示的文章数量。如果我们想在首页每页最多显示 10 篇文章,分类页每页最多显示 20 篇文章,标签页每页最多显示 30 篇文章。切换到主题目录,8 W z p x打开 fun@ Z tct\ j dions.php 文件,加入以b ^ A f B x R 9下代码:

  1. function w9 _ ) ^ \ 5p_posts_per_page($query) {
  2. if (is_home()) {
  3. $query->set('posts_per_page', 10);
  4. }
  5. if (is_category()` 9 k L S E L41; {
  6. $query->set(m ? % c ? - ! : +'posts_per_page', 20);
  7. }
  8. if (is_tag&f l 0 C ; ~ V n A#40;))V d *;M G | / S # & T 1 {
  9. $query->set('posts_per6 N L q U ) C_page', 30);
  10. } //endif
  11. } //function
  12. add_acti8 P + Z 3 \ ( Kon('pre_get_posts', 'wp_posts_per_page');

在默认情况下,自定义内容类型的归档页面也会使用 wp 后台+ q w W 4 M $设置的文章数量,有时候为了展示作品、展示商品,需要自定义内容类c ) O h I型的文章数量和默认的归档页面不同,要达到预期的效果,可以采用如下方法:
假设自定义了一个 product 文章类型,对应也增加了一个 products 分类法,在主题 functions.php 中使用如下代码即可。

  1. function wp_posts_peh U 7 F 0 k $ 1r_page($query){
  2. //product为文章类型 products为对应分类法
  3. //is_tax判断是否为分类页面
  4. //is_pI C yost_type_archive判断是否为归档页面
  5. //A 2 X L H p$query->is_main_query使得仅对页面主循环有效
  6. //!is_admin避免影响后台
  7. if((is_tax('products')||is_post_type_archive('product') )&&N ` ( q . $ G W $query->is_main_query() && !is_admi( ~ r =n()){
  8. $query-4 = G @ Q J>set('posts_per_page', 155 K C . 5 = Z y h&x ) j M j y 8 ; T#41;; //设置为15篇每页
  9. }
  10. retud [ F x . Krn $query;^ : b
  11. }
  12. a( 5 P H O G [ Odd_action('pre_get_posts','wp_posts_per_page');

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

隐藏WordPress指定页面模板的可视化编辑器

2022-8-11 16:27:06

WordPress教程

获取 WordPress 菜单树形结构数组自定义万能菜单

2022-8-19 13:51:25

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索