折腾了好久,终于会了,所以来分享一下。
第一步:准备
找到你当前主题的index.php和single.php(如果有的话)等文件,查找:
<?php the_content(); ?>
在这个语句的前后加入:
似乎现在很多主题都附带了,重复加入会产生错误,所以先检查一下比较好。
第二步:引用
在第一步成功之后,切换到html,在你需要分页的地方添加nextpage标签:
这样就可以实现分页功能了!其实nextpage标签跟more标签用法是一样的。
避免在feed中也出现分页现象:
找到\wp-includes\目录下的query.php,修改如下(红字是添加的代码):
if ( strpos( $content, ‘<!–nextpage–>’ ) && (!is_feed()) ) {
第三步:添加至可视化编辑器
有些同学希望在可视编辑框里显示像MORE一样的按钮,这样方便嘛。的确,我尝试过,网上介绍的方法是打开\wp-admin\includes\目录下的post.php文件,添加’wp_page’到以下代码段中,如下(红字是添加的代码):
$mce_buttons = apply_filters(‘mce_buttons’, array(‘bold’, ‘italic’,
‘strikethrough’, ‘|’, ‘bullist’,
‘numlist’, ‘blockquote’, ‘|’, ‘justifyleft’, ‘justifycenter’, ‘justifyright’,
‘|’, ‘link’, ‘unlink’,
‘wp_more’, ‘wp_page’,‘|’, ‘spellchecker’,
‘fullscreen’, ‘wp_adv’ ));
第四步:美化
1、实现上下页等等:
第一页第二页的形式:
`php if (get_query_var(‘paged’)) { //判断是否为首页
echo ‘第’;
echo
get_query_var(‘paged’); //页码
echo ‘页’;
}?>`
上一页 1234 下一页的形式:
`<?php
wp_link_pages(‘before=&after=&next_or_number=next&previouspagelink=上一页&nextpagelink= ’);
wp_link_pages(‘before=&after=&next_or_number=number’);
echo
“”;
wp_link_pages(‘before=&after=&next_or_number=next&previouspagelink= &nextpagelink=下一页’);
?>`
如果你的页面静态或者伪静态,让他变得更美观:(postname-2.html)
修改wp-includes/rewrite.php 文件
找到 $rewrite = array_merge($rewrite,
array($match => $query))
在这行代码之前添加以下代码:
if (strpos($match, ‘.html’)
!== false && strpos($query, ‘&page=’) !== false) {
$match =
str_replace(‘(/[0-9]+)?/?$’, ‘$’, $match);
$rewrite = array_merge($rewrite,
array(str_replace(‘([^/]+).html’, ‘([^/]+)-([0-9]+).html’, $match) =>
$query));
}
wp-includes/post-template.php 文件
找到wp_link_pages函数,用以下代码替代之:
< ?php
/*
修改页面链接
*/
function alter_page_link($link, $pagenum){
return str_replace(“.html”,
“-$pagenum.html”, $link);
}
/*
包含在 / *=================* / 之间的代码作过修改
*/
function
wp_link_pages($args = ‘’) {
$defaults = array(
‘before’ => ‘
‘ . __(‘Pages:’), ‘after’ => ‘
‘,
‘next_or_number’ => ‘number’, ‘nextpagelink’ => __(‘Next page’),
‘previouspagelink’ => __(‘Previous page’), ‘pagelink’ => ‘%’,
‘more_file’ => ‘’, ‘echo’ => 1
);
$r = wp_parse_args( $args, $defaults );
extract( $r, EXTR_SKIP );
global $post, $id, $page, $numpages, $multipage, $more, $pagenow;
if (
$more_file != ‘’ )
$file = $more_file;
else
$file = $pagenow;
$output = ‘’;
/*=================*/
/* 优化一下,太多重复调用了-_-! */
$permalink_structure =
get_option(‘permalink_structure’);
$not_public_post =
in_array($post->post_status, array(‘draft’, ‘pending’));
$permalink =
get_permalink();
/* 判断永久链接格式是否支持静态化 */
$using_static_permalink = strpos($permalink,
‘.html’) !== false ? true : false;
/*=================*/
if ( $multipage ) {
if ( ‘number’ == $next_or_number ) {
$output .=
$before;
for ( $i = 1; $i < ($numpages+1); $i = $i + 1 ) {
$j =
str_replace(‘%’,”$i”,$pagelink);
$output .= ‘ ‘;
if ( ($i != $page) ||
((!$more) && ($page==1)) ) {
if ( 1 == $i ) {
$output .= ‘’;
} else {
/*=================*/
if ( ‘’ == $permalink_structure ||
$not_public_post ) {
$output .= ‘’;
} else {
if
(!$using_static_permalink) {
$output .= ‘’;
} else {
$output .= ‘’;
}
}