首先不得不说子凡不是特别喜欢一篇文章被分页,甚至是被隐藏点击阅读,这样大大的降低了快速阅读的体验,那么对于 Fanly MIP 主题的用户需求子凡还是要相应的,而同样 WordPress 也非常好的支持了文章内容的分页功能,但是其提供的 wp_link_pages 函数却有点不完美。
WordPress wp_link_pages 这个函数提供了分页模式,要么是上下翻页,要么就是数字分页,而对于像子凡这样事儿多的人,有想要上下翻页,有想要数字分页该怎么办呢?
将以下代码放在当前主题的 functions.php 文件中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //WordPress 文章分页改造 add_filter('wp_link_pages_args', 'fanly_wp_link_pages_args_next_and_number'); function fanly_wp_link_pages_args_next_and_number($args){ global $page, $numpages, $more, $pagenow; if (!$args['next_or_number'] == 'next_and_number') return $args; //支持数字于上下翻页 直接返回 $args['next_or_number'] = 'number'; //保留数字分页模式 if (!$more) return $args; if($page-1) //上一页 $args['before'] .= _wp_link_page($page-1) . $args['link_before']. $args['previouspagelink'] . $args['link_after'] . '</a>'; if ($page<$numpages) //下一页 $args['after'] = _wp_link_page($page+1) . $args['link_before'] . '' . $args['nextpagelink'] . $args['link_after'] . '</a>' . $args['after']; return $args; } |
调用方式如下:
1 2 3 4 5 6 7 8 9 10 11 12 | //wp_link_pages 调用方式 wp_link_pages( array( 'before' => '<div class="fenye">', 'after' => '</div>', 'next_or_number' => 'next_and_number', //next_and_number,数字分页+上下翻页 | next,上下翻页 | number,数字分页 'link_before' => '<span>', 'link_after' => '</span>', 'previouspagelink' => '上一页', 'nextpagelink' => "下一页" ) ); |
最后为了美观,大家还可以简单的写个 css 样式,下面是子凡的一个非常简单的样式:
1 2 3 4 | //简单的分页样式 .fenye{text-align:center;padding:16px 0;line-height:40px} .fenye a{background-color:#f5f6f9;color:#a4a4a4;padding:3px 8px;margin:0 6px} .fenye a:hover{background-color:#363d4d;color:#f5f6f9} |
然后就没有啦,如果你发现你的 WordPress 主题文章或者页面内容不支持分页,那么可以通过这样的一个方式方法直接调用啦,当然如果你不需要同时拥有数字分页和上下翻页,那么直接使用 wp_link_pages 函数,’next_or_number’字段填写 next 或 number 就可以啦!
更多关于WordPress优化及疑问可以添加QQ群:255308000
除非注明,否则均为泪雪博客原创文章,禁止任何形式转载
留言评论