WordPress1記事をページ分割nextpageテーマカスタマイズ(ページ2)

17,422views/投稿 2015-07-04/更新 2019-04-29

ページ送り番号と続きを読む両方出す

ページネーションWordPress

'next_or_number'   => 'number',
と
'next_or_number' => 'next',

next_or_numberには、numberとnextがあります。numberは送り番号で、nextは続きを読むの前後です。どちらか一方が普通かもですが、よく見るサイトが両方出ていてわかりやすかったので、そっか両方出せばいいなと。

phpを2つ書けばいいですね。最初に続きを読むで、その下にページ送り番号も出る形式。

<?php wp_link_pages(array('before' => '<div class="page-links">','after' => '</div>','link_before' => '<span class="page-links_tp">','link_after' => '</span>','next_or_number' => 'next','nextpagelink' => __( '続きを読む &#9654;' ), 'previouspagelink' => __( '&#9664; 前のページ' ),) ); ?>

<?php wp_link_pages(array('before' => '<div class="page-links">','after' => '</div>','link_before' => '<span class="page-links_t">','link_after' => '</span>', ) ); ?>

そして、CSSのためにちょっとカスタマイズしました。<div class="page-links">で前後が囲われるようにして、a内に<span class="page-links_tp">、ページ送り側は<span class="page-links_t">が入るように。あとは適当にCSSを調整。

HTMLはこんな感じで出力されます。

<div class="page-links"><a><span class="page-links_tp">&#9664; 前のページ</span></a> <a><span class="page-links_tp">続きを読む &#9654;</span></a></div>

<div class="page-links"> <a><span class="page-links_t">1</span></a> <span class="page-links_t">2</span> <a><span class="page-links_t">3</span></a></div>

シンプルにしたければ、送り番号だけでいい気もします。最後のページに「前のページ」は必要ありませんし、私も取り除くかもしれません。2ページ目に続くと分割前に書いて終わればわかるはずですし。

titleのダブリを解消する

titleが2ページ目以降ダブってしまうのでページ2と追加されるように変更します。

このページの解説を見て、functions.phpに追記してこんな感じで使ってます。

<?php //ページ送りtitle
function theme_name_wp_title( $title ) {
global $page, $paged;
if ( ( $paged >= 2 || $page >= 2 ) ) {
$title .= "$sep" . sprintf( __( '(ページ%s)' ), max( $paged, $page ) );
}
return $title;
}
add_filter( 'wp_title', 'theme_name_wp_title');
?>

1ページ目以外は、ページ2, 3…と追記されtitleが変わります。

ということで、また分割して3ページ目に続きます。

関連おすすめ記事