モジュラーテーマの一連の設定を保存するための最良の方法についてのアドバイスを探しています。
注意します:
データベースを使用しているadd_option
/get_option
を破棄しました。get_theme_mod
/set_theme_mod
も同様です。
現在グローバルスコープの配列を使用しています - これは理想的ではありません(私が読んだものから)。
他に何か考え/提案はありますか?
ユーザーがそれらを変更できない場合、それらはオプションではなく、それらは定数です。あなたのメインテーマファイルでconst
を使って宣言し(おそらくfunctions.php
だが常にロードされている他のどのファイルもそうするだろう)、そして現在 "options"配列を使っているところならどこでもそれらを使う。
テーマファイルを編集せずにコントロールしたい場合は、代わりに条件付きdefine
を使用することができます(valueがまだ定義されていないか、定義されていないかを確認してください)。そうすれば、サイトごとにwp-config.php
ファイルでそれらを定義することによって、デフォルト値をオーバーライドすることができます。
...しかし、この質問はすべて間違っているようです。 DBがあるので、それを使うだけで、オプションを制御するための基本的なUIを思いつくのは簡単です。モジュールを有効化/無効化するたびにコードを変更しなければならないという本当の理由はありません。
最初のピック
データベースのオプションは最初から無視しません。theme_mods
はテーマに依存するため、最初の選択になります。
パフォーマンスとして、wpオプションは自動ロードされ、それらはWordPressが中心に持っている永続的キャッシュシステムを利用します( wp_cache_get でそれを実際に見ることができます)。それらはグローバルオブジェクトと同じくらい良いです。
セカンドピック
これらの設定がほとんど静的で(めったに変更されない場合)、オプションとしてこれらの設定を保存しないことが理由である可能性があり、それらはテーマのどのモジュール/部分をロードするかどうかを定義するだけです。
この場合、config.json
ファイルを探します。このファイルには file_get_content をロードする必要があります。このようにして、フレームワークでデフォルトの設定(config.example.json
のようなもの)を定義し、それをあなたのウェブサイトにコピー&ペーストすることができます。