1ページだけでもページネーションを表示する方法

Cocoonカスタマイズ集
この記事は約2分で読めます。
記事内に広告が含まれています。

はじめに

通常、ページが1ページしかない場合、ページネーションは表示されません。
以下の記事では、テンプレートを直接編集する方法を紹介しています。

そこで、ファイルを直接書き換えない「テンプレートフック」を活用した方法に変更します。

この記事では、この方法について説明します。

完成イメージ

実装手順

以下のコードをfunctions.phpに追加します。

add_filter('cocoon_part__tmp/pagination', function ($content, $name, $args) {
  // ページネーションが含まれていない場合(1ページのみ)
  if (strpos($content, 'pagination') === false) {
    ob_start();
    ?>
    <div class="pagination">
      <span aria-current="page" class="page-numbers current">1</span>
    </div>
    <?php
    $content = ob_get_clean();
  }

  return $content;
}, 10, 3);

さいごに

今回紹介した方法を使えば、Cocoonのテーマファイルを直接書き換えることなく、フック制御だけでスマートにページネーションの表示を拡張できます。
テーマのアップデートによる影響を受けない安全な実装方法ですので、ぜひご自身の環境でも試してみてください。

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