『WordPressが古すぎてShow Current Templateが使えない』
こういった悩みに答えます。
本記事の内容
- プラグインの追加ができないことを確認
- functions.phpに追記する
Webエンジニア歴1年9ヵ月
WordPressの運営&立ち上げ70サイト以上かかわっている
こういった私が解説していきます。
1.プラグインの追加ができないことを確認
- その①:プラグインの新規追加から確認
- その②:WordPressを更新できないから困っている
その①:プラグインの新規追加から確認
新規追加から確認してみましょう
WordPress左の黒メニューから『プラグイン』⇒『新規追加』を選択します。
入力欄に『Show Current Template』と入れます。
すると…
『このプラグインは現在使用中のWordPressのバージョンでは動作しません。』と表示されて、インストールも有効化もできません。
仮に有効化出来ても、TOPページが真っ白になってしまいました。
それもそのはず。
WordPressのバージョンが低いのです。
その②:WordPressを更新できないから困っている
WordPressを何かしらの理由から更新できない場合はあります。
例えばこんな理由
- WordPressを更新後のデバッグに時間を割けない
- サーバーが古くてWordPress最新版の要件を満たしていない
『Show Current Template』ではそのページで使用しているテンプレートファイルやインクルードファイルを確認できますが、プラグインが有効化できないのでは困りますよね。
次では、プラグイン『Show Current Template』が使えなくてもテンプレートファイルを確認できる方法をご紹介します。
2. functions.phpに追記する
- その①:このコードをコピペOK
- その②:もっと詳しく表示したい場合
その①:このコードをコピペOK
下記コードを追記するだけです
functions.phpの一番下や、キリが良いところにでもコピペでOKです。
1 2 3 4 5 6 7 8 9 10 11 |
/* functions.php */ function add_adminbar_menu() { global $wp_admin_bar; global $template; $current_template = basename($template); $wp_admin_bar->add_node( array( 'id' => 'template_file_name', 'title' => '使用されているテンプレートファイル : '. $current_template, )); } add_action('admin_bar_menu', 'add_adminbar_menu', 500); |
その②:もっと詳しく表示したい場合
インクルードファイルも知りたい
先ほどご紹介したコードはテンプレートファイルは追えますが、インクルードファイルまでは追えません。
もっと詳細にデバッグしたい方はこちらのコードをコピペしてお使いください。
インクルードファイルの記載がアドミンバーを飛び出しているのにはご注意くださいませ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
/* functions.php */ function add_adminbar_menu() { global $wp_admin_bar; global $template; // 現在のテンプレートファイルを取得 $current_template = basename($template); // テンプレートファイルが子テーマ内にある場合、親テーマのディレクトリも取得する $template_dir = get_template_directory() . '/' . $current_template; $parent_template_dir = get_stylesheet_directory() . '/' . $current_template; // インクルードされているファイルを取得 $included_files = get_included_files(); // 現在のテンプレートファイルが含まれているかチェック $included_in_template = false; foreach ($included_files as $file) { if ($file === $template_dir || $file === $parent_template_dir) { $included_in_template = true; break; } } // もし現在のテンプレートファイルがインクルードされている場合 if ($included_in_template) { // 自作のインクルードファイルのリストを初期化 $custom_includes = array(); // インクルードされているファイルをチェックし、自作のインクルードファイルを抽出 foreach ($included_files as $file) { // テンプレートファイルと一致しないファイルのみを抽出 if ($file !== $template_dir && $file !== $parent_template_dir) { // 自作のインクルードファイルをチェック if (strpos($file, get_template_directory()) !== false || strpos($file, get_stylesheet_directory()) !== false) { $custom_includes[] = $file; } } } // インクルードされている自作のファイルを表示する $included_files_output = "<p>使用されているテンプレートファイル : $current_template</p>"; $included_files_output .= "<p>自作のインクルードファイル:</p>"; $included_files_output .= "<ul>"; foreach ($custom_includes as $file) { $included_files_output .= "<li>$file</li>"; } $included_files_output .= "</ul>"; // Admin Bar に追加 $wp_admin_bar->add_node(array( 'id' => 'template_file_name', 'title' => $included_files_output, )); } } add_action('admin_bar_menu', 'add_adminbar_menu', 500); |
以上、Show Current Templateが使えないときの対処をご紹介しました。
ではまた。