WordPress 子テーマで外観を変更(2)子テーマにないphpの追加方法

前回は、WordPress の外観をカスタマイズするために、Cocoon Child を有効化子テーマを作成し、single.php ファイルテーマファイルのあるサーバのフォルダアップロードしました。

今回は single.php を編集し、「次のページ」「前のページ」のリンク(ページ送りナビ)を記事の下側に表示するためのカスタマイズを行います。
※ WordPress は 6.1.1、PHP は 7.4.33、 Cocoon は 2.5.6.2、 Cocoon Child は 1.1.3 です。

編集前の single.php

single.php は投稿ページの外観に影響を与えるファイルです。
前回 Cocoon テーマのテーマファイルのリストにあった single.php のテキストをコピーし、 Cocoon Child テーマにそれをコピーした single.php をアップロードしました。

編集前に Cocoon テーマにあった single.php がどのような処理をしているか見ると、以下のような処理をしています。

  • ABSPATH が定義されているかの確認。
    ABSPATH : WordPress がインストールされているサーバのフォルダへのフルパス
  • WordPress が AMP に対応しているかどうかで表示するヘッダーの切り分け
    AMP : モバイル端末で快適に記事を閲覧できるようにする Google と Twitter が共同で立ち上げたオープンソースプロジェクト
  • 記事本体の表示。
  • フッターの表示 (get_footer 関数の呼び出し) 。

single.php の編集

WordPress のメニュー[外観]→[テーマファイルエディタ] を選択し、「テーマを編集」ページで、「編集するテーマを選択」プルダウンリストCocoon Child選択します。
※リストからの選択だけではなく [選択] ボタンを押してください。

先ほど single.php の処理の流れで説明した、「記事本体の表示」と「フッターの表示」の間get_footer 関数の呼び出しの直前コード追加します。

<?php previous_post_link(); ?>
<?php next_post_link(); ?>

追加したら [ファイルを更新] ボタンsingle.php の編集を保存します。

WordPress Cocoon Child の single.php にコードを追加しファイルを更新ボタンを押します。

さっそく、公開している記事を表示して下側の方を確認します。
残念ながら結果は、本文の直後ではなく、共有ボタン、関連記事、コメント、パンくずリストの後、本文からだいぶ下の方にページ送りナビは追加されました。
そのあとにフッターのブロックがあるのでコードを入れる位置と対応しているのですが、できれば本文の直後に追加したかったです。

WordPress Cocoon Child の single.php のフッターの前にページ送りナビを表示したら本文よりかなり下に表示されました。

一度、追加したコードを消すと、コメントとパンくずリストの後に表示されていたページ送りナビも消えました。これでコードの効果を再確認できました。

WordPress Cocoon child テーマファイルに「前のページ」「次のページ」のリンクを表示するコードを追加する前の記事の表示

調べると、Cocoon のテーマファイル tmp/single-contents.php → tmp/content.php とページを表示する処理は複数の php を経由して少しずつ細分化されていき、 tmp/content.php の「本文下のカテゴリー・タグ」とコメントのあるブロックの後に、ページ送りナビのコードを追加すると本文の後のカテゴリー・タグの後に表示されました。

// Cocoon テーマファイル tmp/content.php

//本文下のカテゴリー・タグ
// 省略

<?php previous_post_link(); ?> // 前ページへのリンク
<?php next_post_link(); ?> // 後ページへのリンク

// 省略

これで、ある程度の粒度で、狙ったところにページ送りナビを追加することができました。

tmp content.php の本文表示処理の後にリンク表示を追加すると表示されました。

そして気づいたこと。Cocoon は偉大だった。

これで目的のページ送りナビが表示されました
しかし、よく見ると、関連記事のブロックの下にデフォルトで「前のページ」「次のページ」のリンクサムネイル付きで表示するページ送りナビがあることに今さら気づきました。

WordPress Cocoon のデフォルトの「前ページ」「次ページ」のリンクは関連記事の下に表示されていました。

まとめ

結局、「前のページ」「次のページ」へのリンク(ページ送りナビ)は、少し位置は違いましたが Cocoon のデフォルトのコードで表示されていました
それでも、 WordPress の記事の表示内容をカスタマイズするために、子テーマを用意し、上書きしたい php ファイルを追加し、変更したい部分だけを書き換える方法学べたことは良かったです。

次回、ページ送りナビについて Cocoon の設定で変えられることがわかったので位置とそれ以外の設定実際にカスタマイズしながら紹介します。

参照サイト Thank You!

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

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