You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WP-Admin后台每页显示5条而非20条帖子的实现求助

解决WordPress后台文章列表每页显示5条且分页失效的问题

嘿,我太懂你这个头疼的问题了——手动改完每页5条帖子,分页直接罢工,确实闹心。这多半是因为后台手动设置时,某些主题或插件的自定义逻辑干扰了分页计算,或者WordPress默认的分页参数没跟上手动修改的值。下面给你两个靠谱的实现方案,保证分页稳稳工作:

方案一:用官方钩子修改默认显示数量(首推)

通过edit_posts_per_page钩子强制设置后台文章列表的每页显示数,这是WordPress官方支持的方式,分页逻辑会自动适配这个数值,绝不会失效。

把这段代码加到你的主题functions.php文件里,或者做个简单的自定义插件来加载它:

// 自定义后台文章列表每页显示数量,确保分页正常
add_filter('edit_posts_per_page', 'custom_admin_posts_per_page', 10, 2);
function custom_admin_posts_per_page($posts_per_page, $post_type) {
    // 只对默认文章(post)类型生效,要是需要适配自定义文章类型,改这里就行
    if ($post_type === 'post') {
        return 5; // 设定为每页5条
    }
    // 其他文章类型保持原有设置
    return $posts_per_page;
}

代码说明:

  • edit_posts_per_page是WordPress专门用来修改后台列表每页显示数的钩子,会接收默认显示数和当前文章类型两个参数。
  • 我们通过判断文章类型,只给普通文章改显示数,页面、自定义文章类型这类不受影响。
  • 用这种方式设置后,后台分页会自动按5条/页计算,再也不会出现失效的情况。

方案二:修复自定义查询的分页参数(针对自定义后台列表)

如果你是在自定义的后台文章列表(比如自定义文章类型的管理页)遇到这个问题,得确保查询时正确传递paged参数,让分页逻辑能算出正确的页码:

// 确保自定义后台查询的分页参数正确
add_action('pre_get_posts', 'fix_custom_admin_pagination');
function fix_custom_admin_pagination($query) {
    // 仅在后台且是主查询时生效
    if (is_admin() && $query->is_main_query() && $query->get('post_type') === 'post') {
        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $query->set('posts_per_page', 5);
        $query->set('paged', $paged);
    }
}

小提醒:

  • 千万别直接改WordPress核心文件,所有自定义代码都放主题functions.php或者独立自定义插件里,不然主题更新后代码就没啦。
  • 加完代码刷新后台文章列表页,就能看到每页5条,分页功能也正常跑起来了。

内容的提问来源于stack exchange,提问作者Scenox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:52:40