当前位置:爱推吧 » WordPress优化 » 不用插件实现WordPress的翻页导航

不用插件实现WordPress的翻页导航

WordPress自带的翻页导航只能向下、向上进行翻页,当你的博客有很多文章的时候,且只想找特定的一篇时,如果用WordPress自带的翻页导航,你只能一篇一篇往下翻,很不方便,当然你也可以装一个翻页导航的插件(wp-pagenavi.zip)这个插件也很漂亮,你可以去WordPress官网下载它的。点我下载 

现在我来介绍一种不用插件就可以直接实现像插件一样的功能的方法。以下的工作是在Functions.php文件里面操作,加入以下代码:

<?php
if ( !function_exists('pagenavi') ) {
 function pagenavi( $p = 5 ) { // 取当前页前后各 2 页
  if ( is_singular() ) return; // 文章与插页不用
  global $wp_query, $paged;
  $max_page = $wp_query->max_num_pages;
  if ( $max_page == 1 ) return; // 只有一页不用
  if ( empty( $paged ) ) $paged = 1;
  echo '<span>Page: ' . $paged . ' of ' . $max_page . ' </span> '; // 显示页数
  if ( $paged > 1 ) p_link( $paged - 1, '上一页', '«' );/* 如果当前页大于1就显示上一页链接 */
  if ( $paged > $p + 1 ) p_link( 1, '最前页' );
  if ( $paged > $p + 2 ) echo '... ';
  for( $i = $paged - $p; $i <= $paged + $p; $i++ ) { // 中间页
   if ( $i > 0 && $i <= $max_page ) $i == $paged ? print "<span class='current'>{$i}</span> " : p_link( $i );
  }
  if ( $paged < $max_page - $p - 1 ) echo '... ';
  if ( $paged < $max_page - $p ) p_link( $max_page, '最后页' );
  if ( $paged < $max_page ) p_link( $paged + 1,'下一页', '»' );/* 如果当前页不是最后一页显示下一页链接 */
 }
 function p_link( $i, $title = '', $linktype = '' ) {
  if ( $title == '' ) $title = "第 {$i} 页";
  if ( $linktype == '' ) { $linktext = $i; } else { $linktext = $linktype; }
  echo "<a href='", esc_html( get_pagenum_link( $i ) ), "' title='{$title}'>{$linktext}</a> ";
 }
}

function isblog_content_nav(  ) {//定义的翻页导航的函数
 global $wp_query;
 if ( $wp_query->max_num_pages > 1 ) : ?>
   <div>
    <div>
    <?php if (function_exists('pagenavi')) { pagenavi(); } ?>
    </div>
   </div>
 <?php endif;
}

好了,加入了以后,你就可以在index.php或archive.php文件内调用这个函数

<?php isblog_content_nav( ' ' ); ?>

这样就可以实现很漂亮的翻页导航,你可以看我博客上的效果。
翻页导航

2 个吐槽 on “不用插件实现WordPress的翻页导航”

发表评论

电子邮件地址不会被公开。 必填项已用*标注