feat(admin): 支付中心列表页统一为 WP 原生分页 #38

Merged
kate522 merged 1 commits from worktree/pay-pages-pagination into main 2026-10-08 14:23:20 +00:00
Owner

七个支付中心列表页(订单明细 / 售后服务 / 付费文章 / 优惠码 / 创作分成 /
提现审核 / 卡密管理)的分页收敛到共享助手 AdminListPagination,改用 WP 原生
paginate_links() 渲染。

  • 基准 URL 显式以 page 参数 + 当前筛选参数拼装,不再让两个参数的
    add_query_arg('paged', ...) 退回 $_SERVER['REQUEST_URI']:链接不再随当前
    请求形态漂移,列条件也不再丢失
  • 售后服务从写死的 limit => 100 改为 limit/offset 分页,总数接上原本零调用的
    AfterSaleService::count();after_sale_status 先按状态常量归一,保证 count()
    与 admin_list() 口径一致,分页条不说谎
  • 每页 20 条,统一来自 AdminListPagination::DEFAULT_PER_PAGE
  • 每页在查询前夹取页码,越界时回退到最后一页并重查,杜绝「空表且没有分页条」
    的死胡同;页码夹取与早退也一并收敛到助手
  • 提现审核的翻页链接排除 retry_id / retry_key 两个一次性动作参数
  • 订单明细的标签页与翻页链接共用同一份筛选参数,不再各写一份

清理死代码:五个页面里近乎复制的 render_pagination()(其中订单明细与提现审核
两份从未被调用)、两页重复的内联 paginate_links 块、卡密管理的 render_pagenavi()
及其 docblock、PayChargeCards::DEFAULT_PER_PAGE 常量,以及只服务自定义禁用
按钮的 .tablenav-pages a.disabled 规则。

验证:tests/admin/ 76 项通过(新增 pay-pages-pagination.test.cjs,重写
charge-cards-pagination.test.cjs);用 git show HEAD 取出原文件对比,订单明细
与售后服务两页在新旧实现下渲染输出逐字节相同。

七个支付中心列表页(订单明细 / 售后服务 / 付费文章 / 优惠码 / 创作分成 / 提现审核 / 卡密管理)的分页收敛到共享助手 AdminListPagination,改用 WP 原生 paginate_links() 渲染。 - 基准 URL 显式以 page 参数 + 当前筛选参数拼装,不再让两个参数的 add_query_arg('paged', ...) 退回 $_SERVER['REQUEST_URI']:链接不再随当前 请求形态漂移,列条件也不再丢失 - 售后服务从写死的 limit => 100 改为 limit/offset 分页,总数接上原本零调用的 AfterSaleService::count();after_sale_status 先按状态常量归一,保证 count() 与 admin_list() 口径一致,分页条不说谎 - 每页 20 条,统一来自 AdminListPagination::DEFAULT_PER_PAGE - 每页在查询前夹取页码,越界时回退到最后一页并重查,杜绝「空表且没有分页条」 的死胡同;页码夹取与早退也一并收敛到助手 - 提现审核的翻页链接排除 retry_id / retry_key 两个一次性动作参数 - 订单明细的标签页与翻页链接共用同一份筛选参数,不再各写一份 清理死代码:五个页面里近乎复制的 render_pagination()(其中订单明细与提现审核 两份从未被调用)、两页重复的内联 paginate_links 块、卡密管理的 render_pagenavi() 及其 docblock、PayChargeCards::DEFAULT_PER_PAGE 常量,以及只服务自定义禁用 按钮的 .tablenav-pages a.disabled 规则。 验证:tests/admin/ 76 项通过(新增 pay-pages-pagination.test.cjs,重写 charge-cards-pagination.test.cjs);用 git show HEAD 取出原文件对比,订单明细 与售后服务两页在新旧实现下渲染输出逐字节相同。
kate522 added 1 commit 2026-10-08 14:23:15 +00:00
七个支付中心列表页(订单明细 / 售后服务 / 付费文章 / 优惠码 / 创作分成 /
提现审核 / 卡密管理)的分页收敛到共享助手 AdminListPagination,改用 WP 原生
paginate_links() 渲染。

- 基准 URL 显式以 page 参数 + 当前筛选参数拼装,不再让两个参数的
  add_query_arg('paged', ...) 退回 $_SERVER['REQUEST_URI']:链接不再随当前
  请求形态漂移,列条件也不再丢失
- 售后服务从写死的 limit => 100 改为 limit/offset 分页,总数接上原本零调用的
  AfterSaleService::count();after_sale_status 先按状态常量归一,保证 count()
  与 admin_list() 口径一致,分页条不说谎
- 每页 20 条,统一来自 AdminListPagination::DEFAULT_PER_PAGE
- 每页在查询前夹取页码,越界时回退到最后一页并重查,杜绝「空表且没有分页条」
  的死胡同;页码夹取与早退也一并收敛到助手
- 提现审核的翻页链接排除 retry_id / retry_key 两个一次性动作参数
- 订单明细的标签页与翻页链接共用同一份筛选参数,不再各写一份

清理死代码:五个页面里近乎复制的 render_pagination()(其中订单明细与提现审核
两份从未被调用)、两页重复的内联 paginate_links 块、卡密管理的 render_pagenavi()
及其 docblock、PayChargeCards::DEFAULT_PER_PAGE 常量,以及只服务自定义禁用
按钮的 .tablenav-pages a.disabled 规则。

验证:tests/admin/ 76 项通过(新增 pay-pages-pagination.test.cjs,重写
charge-cards-pagination.test.cjs);用 git show HEAD 取出原文件对比,订单明细
与售后服务两页在新旧实现下渲染输出逐字节相同。
kate522 merged commit 536ac67f3c into main 2026-10-08 14:23:20 +00:00
kate522 deleted branch worktree/pay-pages-pagination 2026-10-08 14:23:21 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kate522/wordpress-theme-aksrt#38