Quantcast
Channel: E网的那些事儿 » wordpress 提速
Viewing all articles
Browse latest Browse all 2

干掉WP-PageNavi – 非插件实现分页导航

$
0
0

能不用插件就不用插件,今天继续的我们的WP提速之路。wordpress本身不自动进行分页,于是大多数博客都用WP-PageNavi插件来进行分页,今天我们要说的就是不用任何插件来实现分页导航。Willin 大师的代码 ,zwwooooo添加的上一页,下一页,我等直接拷贝过来,将其中的样式与原来的WP-PageNavi样式相仿,这样等你直接复制过去就不需要修改任何东西了,代码添加后就可以直接使用了。

将下面的代码都粘贴到主题的 functions.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 class="pages">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> ";
	}
}

在index.php/home.php/archive.php等页面调用

<div class="wp-pagenavi"><?php if (function_exists('pagenavi')) { pagenavi(); } ?></div>

Css就不用那么麻烦了,直接复制原Pagenavi的默认Css即可(以上代码本人修改过)

效果见E网的那些事儿首页底部分页导航。

订阅本站:http://feed.feedsky.com/sinsky   转载请注明来源,喜欢本站可以Feed订阅本站。

Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images