wordpress不同分类设置不同的每页显示文章数量

COS、CDN
  • 默认设置

    • 在WordPress后台的“设置” -> “阅读” -> “博客页面至多显示”中设置每页显示的文章数量,但这是全局设置,所有分类都会使用这个值。
  • 自定义设置

    • 使用pre_get_posts钩子来动态设置不同分类的每页文章数量。
  • 代码示例

    // 不同分类调用不同的分页显示数量 function tx_wp_filter_pre_get_posts($query) {   if ($query->is_main_query()) { // 判断是否为主查询     $num = '';     if (is_category()) { // 判断是否为分类       $cat_ID = get_queried_object_id(); // 获取分类ID       if (get_option('cat-pagenum-' . $cat_ID)) { // 判断分类自定义字段是否有值         $num = get_option('cat-pagenum-' . $cat_ID);         $query->set('posts_per_page', $num); // 给主循环数据里面的每页文章数量赋值       }     }   }   return $query; } add_action('pre_get_posts', 'tx_wp_filter_pre_get_posts'); // 挂上钩子
  • 简化版代码

    // 不同分类调用不同的分页显示数量 function tx_wp_filter_pre_get_posts($query) {   if ($query->is_main_query()) { // 判断是否为主查询     $num = '';     if (is_category(array(1))) { // 数字1为指定分类ID       $num = 2; // 数字2为每页文章数量值,可以任意修改但必须是整数       $query->set('posts_per_page', $num); // 给主循环数据里面的每页文章数量赋值     }   }   return $query; } add_action('pre_get_posts', 'tx_wp_filter_pre_get_posts'); // 挂上钩子

     

COS、CDN
热门