首页 > CMS > Wordpress > 正文

wordpress实现文章分页功能例子

2024-09-07 00:52:16
字体:
来源:转载
供稿:网友

对于长的文章我们通常是需要进行分页才阅读的,但使用wordpress的朋友会发现wordpress文章并不具备分页功能了,那么如果要添加分页要如何实现呢?下面来看个例子.

之前大叔介绍过很多wordpress的分类列表分页和评论的分页,一直没介绍过文章内容的分页,今天有空写个教程来给大家学习一下,首先,wordpress文章分页要从编辑器和分页定义函数两个地方来实现,现在我们就直接走教程吧。

首先,将下面的代码放入wordpress主题文件夹的functions.php内:

  1. // 在 WordPress 编辑器添加“下一页”按钮 
  2. add_filter('mce_buttons','add_next_page_button'); 
  3. function add_next_page_button($mce_buttons) { 
  4.     $pos = array_search('wp_more',$mce_buttons,true); 
  5.     if ($pos !== false) { 
  6.         $tmp_buttons = array_slice($mce_buttons, 0, $pos+1); 
  7.         $tmp_buttons[] = 'wp_page'
  8.         $mce_buttons = array_merge($tmp_buttonsarray_slice($mce_buttons$pos+1)); 
  9.     } 
  10.     return $mce_buttons
  11. //内容分页 
  12. function custom_wp_link_pages( $args = '' ) { 
  13.     $defaults = array
  14.         'before' => '<div class="pagelist">分页阅读:'
  15.         'after' => '</div>'
  16.         'text_before' => ''
  17.         'text_after' => ''
  18.         'next_or_number' => 'number'
  19.         'nextpagelink' =>'下一页'
  20.         'previouspagelink' =>'上一页'
  21.         'pagelink' => '%'
  22.         'echo' => 1 
  23.     ); 
  24.     $r = wp_parse_args( $args$defaults ); 
  25.     $r = apply_filters( 'wp_link_pages_args'$r ); 
  26.     extract( $r, EXTR_SKIP ); 
  27.     global $page$numpages$multipage$more$pagenow
  28.     $output = ''
  29.     if ( $multipage ) { 
  30.         if ( 'number' == $next_or_number ) { 
  31.             $output .= $before
  32.             for ( $i = 1; $i < ( $numpages + 1 ); $i = $i + 1 ) { 
  33.                 $j = str_replace'%'$i$pagelink ); 
  34.                 $output .= ' '
  35.                 if ( $i != $page || ( ( ! $more ) && ( $page == 1 ) ) ) 
  36.                     $output .= _wp_link_page( $i ); 
  37.                 else 
  38.                     $output .= '<span>'
  39.                 $output .= $text_before . $j . $text_after
  40.                 if ( $i != $page || ( ( ! $more ) && ( $page == 1 ) ) ) 
  41.                     $output .= '</a>'
  42.                 else 
  43.                     $output .= '</span>'
  44.             } 
  45.             $output .= $after
  46.         } else { 
  47.             if ( $more ) { 
  48.                 $output .= $before
  49.                 $i = $page - 1; 
  50.                 if ( $i && $more ) { 
  51.                     $output .= _wp_link_page( $i ); 
  52.                     $output .= $text_before . $previouspagelink . $text_after . '</a>'
  53.                 } 
  54.                 $i = $page + 1; 
  55.                 if ( $i <= $numpages && $more ) { 
  56.                     $output .= _wp_link_page( $i ); 
  57.                     $output .= $text_before . $nextpagelink . $text_after . '</a>'
  58.                 } //Vevb.com 
  59.                 $output .= $after
  60.             } 
  61.         } 
  62.     } 
  63.     if ( $echo ) 
  64.         echo $output
  65.     return $output

给编辑器加了下一页按钮,也定义了分页函数,下面就是到single.php文章页面的相应位置里插入调用函数,即可前端显示分页按钮了,调用函数如下:

<?php custom_wp_link_pages();?>

到了这步,分页就出来了,CSS我也贴出吧,比较简约,如果你的css技术流弊的话,欢迎分享给大家.

  1. .pagelist { padding10px 0background#f3f3f3text-aligncentermargin-top20px } 
  2. .pagelist>span,.pagelist>a{background-color#fff ;border1px#ddd solid ;color#000;margin-left5px;padding4px 10px ;text-transformuppercase; } 
  3. .pagelist>a:hover,.pagelist>span{background-color#363636;color#fff !important;}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表