WordPress paginate_links完全不显示?旧课程代码排障求助
修复WordPress过往活动分页失效问题
你的代码存在几个关键问题,导致分页无法正常工作,以下是针对性修正方案:
1. 修正WP_Query参数错误
你写的post_per_page是拼写错误,正确参数名是posts_per_page。另外必须添加paged参数来识别当前页码,否则分页查询不会生效:
$today = date('Ymd'); // 获取当前页码,默认值为1 $paged = get_query_var('paged') ? get_query_var('paged') : 1; $pastEvents = new WP_Query(array( 'posts_per_page' => 1, // 修正参数名称拼写 'post_type' => 'event', 'meta_key' => 'event_date', 'orderby' => 'meta_value_num', 'order' => 'DESC', 'paged' => $paged, // 添加当前页码参数,实现分页逻辑 'meta_query' => array( array( 'key' => 'event_date', 'compare' => '<', 'value' => $today, 'type' => 'numeric', ), ) ));
2. 完善分页链接参数
paginate_links需要指定当前页码current,同时补充base和format参数,确保分页URL生成正确:
echo paginate_links(array( 'total' => $pastEvents->max_num_pages, 'current' => $paged, // 指定当前页码,让分页按钮高亮正确页面 'base' => get_pagenum_link(1) . '%_%', // 定义分页基础URL结构 'format' => '/page/%#%' // 定义页码在URL中的格式 ));
额外注意事项
- 确保后台固定链接设置正确(后台→设置→固定链接),避免分页URL解析异常
- 循环输出活动内容后,记得执行
wp_reset_postdata();,重置查询状态,避免影响后续WordPress内置查询
内容的提问来源于stack exchange,提问作者pyats
相关产品推荐
相关产品推荐

