WordPressのテンプレート内で記事やカテゴリなどのIDを指定する必要がある場合、テスト環境と本番環境でIDが変わってしまうことがあります。
テンプレート内に点在すると管理がややこしくなるので、そういった差異を1ファイルでまとめて管理できるようにする方法を試してみます。
サンプルコード
まずは差異をまとめて管理するファイルを作成します。
config.php
<?php $contact_form_id = 14; ?>
今回はContact Form 7というプラグインで使用するIDを管理する想定で試しています。
次に上記ファイルを全ページで読み込むように設定します。
今回はheader.php内で読み込みます。
header.php
<?php require 'config.php'; ?>
これでconfig.phpの内容が全ページで読み込まれるようになったので、config.php内で設定した変数を使用したい場所で設定すればOKです。
例として、front-page.php内でプラグインのショートコードを使ってみます。
front-page.php
<?php echo do_shortcode('[contact-form-7 id="' . $contact_form_id . '"]'); ?>
これでフロントページに問い合わせフォームが出力できました。
あとはテスト環境と本番環境でconfig.php内の変数の値を変更すれば、それぞれの環境での差異がconfig.php内のみになるので比較的管理がしやすくなります。
コメントが承認されるまで時間がかかります。