1. 当前位置:
  2. 首页
  3. »
  4. 随笔
  5. »
  6. wordpress给自定义page页面插入分页导航

wordpress给自定义page页面插入分页导航

零分 2,450

给wordpress单独做了一个置顶文章的页面,之前做了一个文章归档,因为只有输出标题,就没有写分页,置顶文章,做了一个视图类的列表,如果放太多,页面可能会很长,不太好看,也可能会影响到速度,所以就给做了一个分页。

分页是通过钩子创建,不是后台的页面模板创建

 add_action('parse_request', 'sticky', 10 , 1)

页面模板创建,可能也是一样,原本以为,可以通过通用的分页函数来分页,发现分页无效。

paginate_links( array(
        'total' => $query->max_num_pages, // 总页数
        'current' => max( 1, get_query_var('paged') ), // 当前页码
        'prev_text' => __('上一页'),
        'next_text' => __('下一页'),
    ) );

页面上,无法加载get_query_var(‘paged’) ,显示的链接是“/page/”.,尝试通过$query->query_vars[‘page’],好像也获取不到page的值,不知道是不是wordpress内部保留了这些参数

只好给页面加一个随便的参数,然后伪静态成/page/的样式,函数中的 get_query_var(‘paged’)修改了下

paginate_links( array(
        'total' => $query->max_num_pages, // 总页数
        'current' => max( 1, $query->query_vars['id'] ), // 当前页码,随便添加了一个值ID
        'prev_text' => __('上一页'),
        'next_text' => __('下一页'),
    ) );

大体上,分页完成,生成的链接是/page/样式,所以,设置下伪静态规则

$newrules['sticky/page/([^/]+)$'] = 'index.php?pagename=sticky&id=$matches[1]';
$newrules['sticky'] = 'index.php?pagename=sticky';

如果想重写下URL,直接显示/页码,只有重新分页导航!

最后完成

wordpress给自定义page页面插入分页导航
头像
支持作者
联系微信二维码
0%