對於分頁,大多情況下我們在用在列表頁面的,當一個列表分類下的文章數量過多的時候,我們需要通過分頁來實現讓用户在多個頁面來查看。如下圖:

但有時某篇文章為了闡述清楚某個問題,需要通過文字加圖片的方式來配合展現,就會導致整個單獨文章頁面篇幅過長,而且也影響頁面的加載速度,這時我們也可以給單獨的文章頁面來進行分頁顯示。

WordPress 長文章 single.php 分頁的操作步驟:

第一步:進入自己做網站的後台,在外觀下找到 「編輯」 選項,然後找到文章頁面模塊 single.php,在 single.php 中找到下面的代碼

<?php the_content(); ?>

第二步:找到上面的代碼之後,在其下方添加 WordPress 自帶的分頁功能函數代碼:

<?php wp_link_pages(); ?>

第三步:第二步的代碼可以實現簡單的分頁效果,如果你想讓分頁按鈕更加美觀的話,可以將第二步的代碼替換成下面的調用代碼:

<?php wp_link_pages(array('before' => '<div> 分頁閲讀:', 'after' => '', 'next_or_number' => 'next', 'previouspagelink' => '上一頁', 'nextpagelink' => "")); ?> <?php wp_link_pages(array('before' => '', 'after' => '', 'next_or_number' => 'number', 'link_before' =>'<span>', 'link_after'=>'</span>')); ?> <?php wp_link_pages(array('before' => '', 'after' => '</div>', 'next_or_number' => 'next', 'previouspagelink' => '', 'nextpagelink' => "下一頁")); ?>

並且通過下面的 CSS 代碼來控制分頁按鈕的顯示樣式,直接複製下面的 CSS 樣式到 style.css 文件中,這樣就可以實現下面的效果

/**頁面分頁**/
.fenye{text-align:center;margin:0px auto 10px;font-weight:bold}
.fenye span{background-color:#DDDDDD;color:#fff;font-weight: bold;margin:0px 1px;padding:1px 6px;display:inline-block;text-decoration:none;border:1px solid #e0e0e0;}
.fenye a{text-decoration:none;}
.fenye a span{background-color:#F6F6E8;font-weight: normal;color: #000;text-decoration: none;}
.fenye a:hover span{background-color:#DDDDDD;color: #fff;}

第四步:在文章中需要分頁的位置插入分頁代碼 【必須在代碼文本模式下插入】

<p><!--nextpage--></p>

第五步:如果你覺得每次使用分頁代碼的方法比較麻煩,可以通過在編輯器上方添加一個 「分頁按鈕」 來使用,即在文章中需要分頁的地方點一下 「分頁按鈕」 就會自動的添加分頁代碼。 【此步可做可不做】

1 、找到 /wp-includes/class-wp-editor.php 文件。查找 『wp_more』, 標籤:(在 366 行處)

$mce_buttons = apply_filters('mce_buttons', array('bold', 'italic', 'strikethrough', '¦', 'bullist', 'numlist', 'blockquote', '¦', 'justifyleft', 'justifycenter', 'justifyright', '¦', 'link', 'unlink', <SPAN style="TEXT-DECORATION: underline"><STRONG><SPAN style="COLOR: #ff0000; TEXT-DECORATION: underline">'wp_more',</SPAN></STRONG></SPAN> '¦', 'spellchecker', 'fullscreen', 'wp_adv' ), $editor_id);

2 、在 『wp_more』 後添加 『wp_page』,(含單引號和逗號) 。修改後代碼如下:

$mce_buttons = apply_filters('mce_buttons', array('bold', 'italic', 'strikethrough', '¦', 'bullist', 'numlist', 'blockquote', '¦', 'justifyleft', 'justifycenter', 'justifyright', '¦', 'link', 'unlink', <SPAN style="TEXT-DECORATION: underline"><STRONG><SPAN style="COLOR: #ff0000; TEXT-DECORATION: underline">'wp_more','wp_page',</SPAN></STRONG></SPAN> '¦', 'spellchecker', 'fullscreen', 'wp_adv' ), $editor_id);

3 、此時,你就可以在後台寫文章及編輯文章頁面的文本編輯器上看到一個跟 more 標籤按鈕相似的圖標。
同樣,在代碼編輯器也會相應出現一個 nextpage 按鈕。

第六步:消除分類後不同頁面的文章的標題相同的問題,避免影響網站 SEO 優化。在主題模板文件 header.php 找到類似 <title>……</title> 代碼,將其替換為如下代碼。

<?php if ( is_single() ) { ?><title><?php echo trim(wp_title('',0)); ?><?php if (get_query_var('page')) { echo '-第'; echo get_query_var('page'); echo '頁';}?> — <?php bloginfo('name'); ?></title><?php } ?>

第七步:實現分頁功能後,會導致 Feed 頁面的文章被分頁,一般只顯示第一頁的內容,解決方法:打開 wp-includes 目錄下的 query.php 文件,找到下面這行代碼 (大概在 3578 行)

if ( strpos( $content,'<!–nextpage–>' ) ) {

把它修改為下面這行代碼。

if ( strpos( $content, '<!--nextpage-->' ) && (!is_feed()) ) {

這樣我們就完成了完美的長文章分頁閲讀的效果了。