请问wordpress不同分类设置不同的每页显示文章数量
-
默认设置:
- 在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'); // 挂上钩子
更新时间:2025-04-10 23:55:31
转载请注明原文链接:https://www.muzicopy.com/suibi/4065.html