空の領域

又一个坑爹的神站 大人說:要清爽 要低調

0%

Wordpress内页分页教程

折腾了好久,终于会了,所以来分享一下。

第一步:准备
找到你当前主题的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=&nbsp’);

wp_link_pages(‘before=&after=&next_or_number=number’);

echo

“”;

wp_link_pages(‘before=&after=&next_or_number=next&previouspagelink=&nbsp&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 .= ‘’;

}

}

欢迎关注我的其它发布渠道