省エネ運転中

【WordPress】分割ページの2ページ目以降に「1ページ目から読む」リンクを表示する

WordPressカスタマイズ

WordPressの改ページ(nextpage)を使用する際、2ページ目以降のページを表示時に1ページ目から読む旨のメッセージやリンクを表示する方法について解説します。

WordPressのマルチページャーについて

WordPressの投稿ではnextpageのタグを使って1ページを複数ページに改ページして表示することが可能です。

<!--nextpage-->

この際、テーマによってはページ下部などに切り替え用のリンクが表示されますが、検索エンジンからのリンクなどによって2ページ目以降に直接アクセスされた場合、ユーザーには2ページ目以降だということが伝わらずユーザビリティを低下させてしまう場合があります。

テーマによってはこれらの表示対応がなされているものもあるかと思いますが、この表示を直接カスタマイズするには、以下をテンプレートに記述します。

マルチページャーの2ページ目以降を表示したときだけメッセージを表示する

以下のコードをWordPressテンプレート内のメッセージを表示したい場所に記載します。

global $numpages;
if ( $numpages !== 1 ) { //複数ページの場合
  $paged = (get_query_var('page')) ? get_query_var('page') : 1;
  if ( $paged !== 1 ) { //2ページ目以降を表示している場合
    echo '<div>('.$paged.'/'.$numpages.')'.'<a href="'.get_the_permalink().'">1ページ目から読む</a></div>';
  }
}

マルチページャーによってページが分割されているか否かはグローバル変数の $numpages を使って確認します。

また、現在表示中のページ番号はGETクエリのpageパラメータを使って確認できます。

この2つの値を比較することで、「複数ページの2ページ目以降を表示」の判断が可能です。

コメント

タイトルとURLをコピーしました