纯代码创建 WordPress 分页导航

如果想为WP找一个页面导航插件,有一款翻页插件,想必大家都知道:WP-PageNavi 是由大家熟知的 WordPress 插件专业户 GaMerZ 开发的一款深受用户喜爱的 “WP 翻页”插件;直接开启插件就可以使用,但要实用;简洁[非插件] 实现 WordPress 分页导航,这里有一个,之前我已经分享过 谷歌式的WordPress页面导航的代码。和这个原理一样的,效果请参照本站,现在分享下:

添加下面代码至 functions.php:

function mcooo_pagenavi($pages_to_show = 5) {

global $request, $posts_per_page, $wpdb, $paged;

$half_pages_to_show = round($pages_to_show/2);

if (!is_single()):

if(!is_category()) preg_match('#FROM\s(.*)\sORDER BY#siU', $request, $matches); else preg_match('#FROM\s(.*)\sGROUP BY#siU', $request, $matches);

$fromwhere = $matches[1];

$numposts = $wpdb->get_var($wpdb->prepare("SELECT COUNT(DISTINCT ID) FROM $fromwhere"));

$max_page = ceil($numposts/$posts_per_page);

if(empty($paged)) $paged = 1;

if($max_page > 1):

if ($paged >= ($pages_to_show-1))

echo '<a href="'.get_pagenum_link().'">'.__("First page","mcooo").'</a> ... ';

for($i = $paged - $half_pages_to_show; $i <= $paged + $half_pages_to_show; $i++) {

if ($i >= 1 && $i <= $max_page)

if($i == $paged) echo '<span class="current">'.$i.'</span>'; else echo ' <a href="'.get_pagenum_link($i).'">'.$i.'</a> ';

}

if (($paged+$half_pages_to_show) < ($max_page)):

echo '... <a href="'.get_pagenum_link($max_page).'">';

printf(__("Last page (%s)","mcooo"),$max_page);

echo '</a>';

endif;

endif;

endif;

}

添加美化代码:

p#subNav {padding: 8px 3px; margin:20px 40px; text-align: left; color: #ff6500; font: 12px/16px Tahoma, Arial, sans-serif}

p#subNav a, p#subNav a:link{border: 1px solid #ccc; margin-right: 3px; padding: 3px 5px; color: #888; background: #f9f9f9}

p#subNav a:hover{border: 1px solid #bbb;background: #fdfdfd; color: #777}

p#subNav a:active{border: 1px solid #111;background: #666; color: #f8f8f8}

p#subNav span.current{margin-right: 3px; padding: 3px 5px; border: 1px solid #aaa; font-weight: 700; background-color:#eee; color: #999}

p#subNav span.extend{margin-right: 3px; padding: 3px 5px; border: 1px solid #eee; color: #ddd}

ul#subNav {height: 18px; border: 1px solid #eee; background: #fafcf9; margin: 0 40px}

添加调用代码至主题:index.php、archive.php、category.php、search.php

<p id="subNav">

<?php mcooo_pagenavi(5); ?>

</p>

Tag(s): ,
  • QQshuqian
  • Del.icio.us
  • Baidu
  • Google
  • Fanfou
  • FriendFeed
8 Comments Contributed by Visitors
  1. rebuttonwillin | 23:33@10-06-12 1 willin

    很面熟的代碼...

  2. rebuttonedikud | 23:37@10-06-12 2 edikud

    [b:#comment-771]@willin [/b]呵呵!是老外用了你的,然后让我看到了,我查下原网页给你看下吧!

  3. rebuttonedikud | 23:43@10-06-12 3 edikud

    http://www.livexp.net/wordpress/create-google-style-page-navigation-for-wordpress.html (wp-pagenavi),查到了,有个老外依着这个改的!但不知是不是,另外说下www.livexp.net这个网站很不错的!

  4. rebuttonedikud | 23:48@10-06-12 4 edikud

    加密会有这个问题,现在又要看下CSS了!

  5. rebuttonwillin | 18:07@10-06-13 5 willin

    [b:#comment-774]@edikud [/b]
    這篇就是那個老祖宗啊, 其實就是早期的 wp-pagenavi.

  6. rebuttonedikud | 18:32@10-06-13 6 edikud

    [b:#comment-780]@willin [/b]原来是这样,学习了!

  7. rebuttontoptpe | 16:58@11-10-02 7 toptpe

    请问美化代码插到哪个文件?哪个位置啊?我是最初级菜鸟!谢谢告知啊

  8. rebutton雪中飞羽绒服 | 07:46@11-11-22 8 雪中飞羽绒服

    我按照提示操作了之后变乱码 :cry:

Leave Comments Here...

:smile: :grin: :sad: :eek: :shock: :???: :cool: :lol: :mad: :razz: :oops: :cry: :evil: :twisted: :wink: :?: :idea: :neutral:

必填

必填&保密

随您

Ctrl+Enter

  • 已部署"白忙活" Anti-Spam 系统,猪肉 Spammer 请注意查看源代码链接处。
  • 本站不会泄露您的邮件地址,敬请放心。
  • 支持常用 HTML 代码调用,插入 PHP 代码需注意:< = &lt;> = &gt;
  • 仅当某人针对您的评论做出回应时,您才会收到由本站发出的通知信件。
  • 如您希望以相同方式通知某位网友,请点击 Reply 按钮,或自行输入 @对方名字:
  • 鼠标移至评论列表中的 @someone: 区域即可自动显示 someone 的评论内容。

您直接访问了本站! 嘿嘿