对于长的文章我们通常是需要进行分页才阅读的,但使用wordpress的朋友会发现wordpress文章并不具备分页功能了,那么如果要添加分页要如何实现呢?下面来看个例子.
之前大叔介绍过很多wordpress的分类列表分页和评论的分页,一直没介绍过文章内容的分页,今天有空写个教程来给大家学习一下,首先,wordpress文章分页要从编辑器和分页定义函数两个地方来实现,现在我们就直接走教程吧。
首先,将下面的代码放入wordpress主题文件夹的functions.php内:
- // 在 WordPress 编辑器添加“下一页”按钮
- add_filter('mce_buttons','add_next_page_button');
- function add_next_page_button($mce_buttons) {
- $pos = array_search('wp_more',$mce_buttons,true);
- if ($pos !== false) {
- $tmp_buttons = array_slice($mce_buttons, 0, $pos+1);
- $tmp_buttons[] = 'wp_page';
- $mce_buttons = array_merge($tmp_buttons, array_slice($mce_buttons, $pos+1));
- }
- return $mce_buttons;
- }
- //内容分页
- function custom_wp_link_pages( $args = '' ) {
- $defaults = array(
- 'before' => '<div class="pagelist">分页阅读:',
- 'after' => '</div>',
- 'text_before' => '',
- 'text_after' => '',
- 'next_or_number' => 'number',
- 'nextpagelink' =>'下一页',
- 'previouspagelink' =>'上一页',
- 'pagelink' => '%',
- 'echo' => 1
- );
- $r = wp_parse_args( $args, $defaults );
- $r = apply_filters( 'wp_link_pages_args', $r );
- extract( $r, EXTR_SKIP );
- global $page, $numpages, $multipage, $more, $pagenow;
- $output = '';
- if ( $multipage ) {
- if ( 'number' == $next_or_number ) {
- $output .= $before;
- for ( $i = 1; $i < ( $numpages + 1 ); $i = $i + 1 ) {
- $j = str_replace( '%', $i, $pagelink );
- $output .= ' ';
- if ( $i != $page || ( ( ! $more ) && ( $page == 1 ) ) )
- $output .= _wp_link_page( $i );
- else
- $output .= '<span>';
- $output .= $text_before . $j . $text_after;
- if ( $i != $page || ( ( ! $more ) && ( $page == 1 ) ) )
- $output .= '</a>';
- else
- $output .= '</span>';
- }
- $output .= $after;
- } else {
- if ( $more ) {
- $output .= $before;
- $i = $page - 1;
- if ( $i && $more ) {
- $output .= _wp_link_page( $i );
- $output .= $text_before . $previouspagelink . $text_after . '</a>';
- }
- $i = $page + 1;
- if ( $i <= $numpages && $more ) {
- $output .= _wp_link_page( $i );
- $output .= $text_before . $nextpagelink . $text_after . '</a>';
- } //Vevb.com
- $output .= $after;
- }
- }
- }
- if ( $echo )
- echo $output;
- return $output;
- }
给编辑器加了下一页按钮,也定义了分页函数,下面就是到single.php文章页面的相应位置里插入调用函数,即可前端显示分页按钮了,调用函数如下:
<?php custom_wp_link_pages();?>
到了这步,分页就出来了,CSS我也贴出吧,比较简约,如果你的css技术流弊的话,欢迎分享给大家.
- .pagelist { padding: 10px 0; background: #f3f3f3; text-align: center; margin-top: 20px }
- .pagelist>span,.pagelist>a{background-color: #fff ;border: 1px#ddd solid ;color: #000;margin-left: 5px;padding: 4px 10px ;text-transform: uppercase; }
- .pagelist>a:hover,.pagelist>span{background-color: #363636;color: #fff !important;}
新闻热点
疑难解答
图片精选