不用插件实现WordPress分页功能

1

代码段 添加到主题文件functions.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* Pagenavi */  
function pagenavi( $before = '', $after = '', $p = 3 ) {
	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 $before.'<div class="page_navi">'."\n";
	//echo '<span class="pages">Page: ' . $paged . ' of ' . $max_page . ' </span>';
	if ( $paged > 1 ) p_link( $paged - 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="page-numbers 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,'下一页', '>' );
	echo '</div>'.$after."\n";
}   
function p_link( $i, $title = '', $linktype = '' ) {
	if ( $title == '' ) $title = "第{$i}页";   
	if ( $linktype == '' ) { $linktext = $i; } else { $linktext = $linktype; }
	echo '<a class="page-numbers" href="', esc_html( get_pagenum_link( $i ) ), '" title="'.$title.'">'.$linktext.'</a>';
}

调用方法

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

简单美化代码

.page_navi{padding:15px 0px;}
.page_navi a,.page_navi .page-numbers,.page_navi .dots{padding:4px 8px;margin:0 2px;color:#666;}
.page_navi a:hover,.page_navi .current{background:#666;color:#fff;text-decoration:none;}

共 1 条评论

回复 47f349热销儿童-袜子-帽子-围巾-雪地靴-内裤 X

您的邮箱不会公开,当您的评论有新的回复时,会通过您填写的邮箱向您发送评论内容。 必填字段 *

为何看不到我发布的评论?

正在提交, 请稍候...