修改 WP-Pagenavi 样式为 Bootstrap 数字分页导航样式

文 / @WordPress主题

使用Bootstrap数字分页样式

本文介绍如何使用Bootstrap数字分页样式替换WordPress的WP-Pagenavi插件分页样式。

WP-Pagenavi可以说是WordPress中最流行的分页插件,WP-Pagenavi插件自带了基本的CSS样式,我们可以通过自定义CSS来修改这个样式。但如果你的主题是基于Bootstrap定制的,我们是不是可以直接使用Bootstrap的数字分页样式呢?对比一下WP-Pagenavi的HTML结构和Bootstrap数字分页组件的HTML结构,我们发现,他们的结构是不同的,要想使用Bootstrap的分页样式,只需要把WP-Pagenavi的分页结构修改成和Bootstrap数字分页组件的HTML结构一样即可。

bootstrap-wordpress-pagination

使用wp_pagenavi过滤函数修改HTML内容

WP-Pagenavi为我们提供了wp_pagenavi过滤函数供我们修改WP-Pagenavi分页的HTML内容,有了这个过滤函数,一切变得简单多了。

//挂载自定义函数到wp_pagenavi过滤函数上
add_filter('wp_pagenavi','ik_pagination',10,2);

//输出前通过字符串替换自定义html结构
function ik_pagination($html){
$out='';

//wrapa'sandspan'sinli's
$out=str_replace("<div","",$html);
$out=str_replace("class='wp-pagenavi'>","",$out);
$out=str_replace("<a","<li><a",$out);
$out=str_replace("</a>","</a></li>",$out);
$out=str_replace("<span","<li><span",$out);
$out=str_replace("</span>","</span></li>",$out);
$out=str_replace("</div>","",$out);

return'<divclass="paginationpagination-centered">
<ul>'.$out.'</ul>
</div>';
}

如果你的Bootstrap是Bootstrap3,只需要稍微修改一下输出即可。

return'<ulclass="paginationpagination-centered">'.$out.'</ul>';

把以上代码放到functions.php中,WP-Pagenavi输出的分页HTML就和Bootstrap的一模一样了,因为我们使用了Bootstrap的分页样式,WP-Pagenavi自带的分页CSS样式就没用了,我们可以在WP-Pagenavi设置中禁用掉了。

智库点评:Bootstrap是一个如此流行的前段框架,如果WP-Pagenavi能提供对Bootstrap样式的支持,只需要在后台选中Bootstrap支持,即可实现本文中的效果,用户体验无疑增加了很多。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。