サポート » 使い方全般 » functions.phpを分割した場合、定数はどこに記述したらよろしいでしょうか?

  • 解決済 test 1234

    (@lifestyledesign7777)


    require_once locate_template(‘lib/init.php’); // 初期設定の関数

    上記のような書き方でfunctions.phpを分割できると思います。
    その場合、定数は下記のどちらに記述するのがベストなのでしょうか?
    定数は関数の中で使ったり、single.php,archive.phpなどで使っています。
    ①functions.php 本体
    ②上記例だとlibフォルダの中のファイル(init.php)
    ③functions.php+libフォルダの中のファイルの2か所
    ④その他

    以上です。
    ご教授よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    意味と役割で考えるのが良いと思います。
    ファイルの分割は、異なる処理系統でライブラリとしてコードを共有する他に、メンテナンス性を重視し機能別に分けることも意味があります。

    今回、lib/init.php としてファイルを分けたのは、後者の意味合いが強いと思われます。
    また、分けたファイルも、init.php( // 初期設定の関数)とあり、定数の定義は、初期設定に関連することが多いわけですから、この場合は、②にて行うことが望ましいのではと考えます。

    ただし、実行される際に正しく動作しないのであれば、意味がありませんので、読み込み順などには留意してください。

    余談となりますが、locate_template は、第2引数で読み込みの有無、第3引数で読み込み方式の指定も可能です。
    また、この関数はテンプレートファイルの読み込みのためのものですので、functions.php で使用することは本義的な利用方法ではありません。
    デフォルトテーマの Twenty Fifteen をバージョンの古いWordPressでりようする場合に読み込む back-compat.php の読み込む部分の記述は以下のようになっています。

    require get_template_directory() . '/inc/back-compat.php';

    デフォルトテーマの記述は、基本的に最も基準となるものですので、極力記述方法を合わせた方が、今後のWordPressのバージョンアップにも問題が発生しにくくなりますので、参考としてください。

    トピック投稿者 test 1234

    (@lifestyledesign7777)

    jim912さん
    詳しく解答して頂きありがとうございます。
    参考にさせていただきます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「functions.phpを分割した場合、定数はどこに記述したらよろしいでしょうか?」には新たに返信することはできません。