今表示しているページがどのテンプレートか知りたいんだけどどうしたらいいんだろう。
今回の記事は上記のような疑問やお悩みに役立つ内容となっております。
WordPressでテーマ制作をしているとデバッグ中などに「今表示しているページがどのテンプレート階層に当たるのか知りたい」と思う瞬間があると思います。
そんな時、パッと今表示しているテンプレートが分かれば便利ですよね。
今回はそういった時に使えるコードを紹介したいと思います。
現在のテンプレート階層を調べる方法
では早速ですが、現在のテンプレート階層を調べる方法です。
以下のコードheader.phpの任意の場所に記述しましょう。
<?php
global $template;
$template_name = basename($template, '.php');
echo $template_name;
?>
上記をheader.phpに記述することで、ページを変えたときにテンプレート階層が表示されるようになります。
上記のように左上に「index」と表示されましたが、これは「現在のテンプレート階層はindex.php」と表しているということです。
解説
ではコードについて解説します。
まず、テンプレート階層を調べるには「global $template;」を使用します。
basename関数はPHPの関数なのですが、パスからファイル名を取得することができます。
つまり、
global $template;
$template_name = basename($template, '.php');
上記の内容を要約すると、
global $template;でテンプレートファイルの階層を調べ、
$template_name = basename($template, '.php'); でテンプレートのパスを取得する
ということになります。
そして、「$template_name」という変数に取得したテンプレート階層を代入し、echoしているということです。
ちなみにテンプレート階層自体の構造を確認したいときはこちら>で確認することができます。
終わりに
いかがでしたでしょうか。
WordPressの開発時に知っておくと便利なデバック方法なので、是非覚えておいてもらえたらと思います。