17713433920 info@mac163.com
如何向您的WordPress主题添加分页
如何向您的WordPress主题添加分页

如果您希望使用凉爽的数字而不是默认的下一个和上一个帖子为您的WordPress主题添加分页支持,则可以使用著名的PageNavi插件来实现,但是,我更喜欢将分页手动添加到主题中,这样人们就不会必须去寻找插件。这也有助于保持网站的速度没有所有的外部脚本和CSS。

幸运的是在WordPress称为“伟大的功能paginate_links这是在WordPress 2.1加入,将允许您创建一个分页式的导航为网站上的任何查询”。这是一个快速教程,用于为您的主题添加简单的页面导航,就像我的“ Total WordPressTheme ”中的分页一样。

分页PHP

只需在functions.php文件(或主题中要保留它的任何文件)末尾添加以下代码。

// Numbered Pagination
if ( !function_exists( 'wpex_pagination' ) ) {
	
	function wpex_pagination() {
		
		$prev_arrow = is_rtl() ? '→' : '←';
		$next_arrow = is_rtl() ? '←' : '→';
		
		global $wp_query;
		$total = $wp_query->max_num_pages;
		$big = 999999999; // need an unlikely integer
		if( $total > 1 )  {
			 if( !$current_page = get_query_var('paged') )
				 $current_page = 1;
			 if( get_option('permalink_structure') ) {
				 $format = 'page/%#%/';
			 } else {
				 $format = '&paged=%#%';
			 }
			echo paginate_links(array(
				'base'			=> str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
				'format'		=> $format,
				'current'		=> max( 1, get_query_var('paged') ),
				'total' 		=> $total,
				'mid_size'		=> 3,
				'type' 			=> 'list',
				'prev_text'		=> $prev_arrow,
				'next_text'		=> $next_arrow,
			 ) );
		}
	}
	
}

查看所有参数

分页CSS

复制以下CSS并将其粘贴到style.css文件中。

ul.page-numbers {
    list-style: none;
    margin: 0;
}

.page-numbers:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

ul.page-numbers li {
    display: block;
    float: left;
    margin: 0 4px 4px 0;
    text-align: center;
}

.page-numbers a,
.page-numbers span {
    line-height: 1.6em;
    display: block;
    padding: 0 6px;
    height: 18px;
    line-height: 18px;
    font-size: 12px;
    text-decoration: none;
    font-weight: 400;
    cursor: pointer;
    border: 1px solid #ddd;
    color: #888;
}

.page-numbers a span { padding: 0 }

.page-numbers a:hover,
.page-numbers.current,
.page-numbers.current:hover {
    color: #000;
    background: #f7f7f7;
    text-decoration: none;
}

.page-numbers:hover { text-decoration: none }

向主题添加分页功能

回调分页功能非常简单。您所要做的就是将以下代码添加到您想要显示任何分页的主题文件中。最常见的是您的index.php,home.php,category.php,tags.php,archive.php和search.php。但是,如果您有任何具有分页支持的自定义页面模板,则需要在此处添加它们。

将默认分页替换为以下内容(通常位于endif之后的某个位置):

<?php wpex_pagination(); ?>

自定义查询?

如果使用WP_Query创建自定义查询,则除非您在$ wp_query变量中定义了查询(否则,请勿这样做),否则该功能将不起作用。要解决此问题,我通常会创建类似以下的新查询:

$ wpex_query =新的WP_Query($ args);

这样,我可以更改主分页功能以在创建分页时查找变量,例如(编辑第一个代码段):

global $wp_query, $wpex_query;
if ( $wpex_query ) {
    $total = $wpex_query->max_num_pages;
} else {
    $total = $wp_query->max_num_pages;
}

更新:在此示例中,我检查了全局变量…但是,您可以简单地将查询变量直接传递给wpex_pagination函数,这可能是一个更好的选择?


微信二维码

微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!


需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!
回到顶部