この記事では、WordPressで使用しているテンプレート名を取得する方法をご紹介します。
テンプレートによって処理を変えたい場合などに便利です。
目次
取得手順
$templateの中を確認する
テンプレート名はグローバル関数である$templateにフルパスで入っています。
試しに以下のコードをテンプレートに記入してみます。
<?php global $template; echo $template;
?>
ブラウザから見ると、
/home/<user_name>/<domain_name>/public_html/wp-content/themes/<theme_name>/onecolumn-760.php
と言った感じで表示されるはずです。
テンプレート名だけ表示する
PHPのbasenameで取り出します。
<?php
global $template;
$template_name = basename($template, '.php');
echo $template_name;
?>
もう一度ブラウザで確認すると、
onecolumn-760
と言った感じで上手く取り出せました。
テンプレート名によって処理を変えるサンプル
以下はテンプレート名によってincludeするパーツを切り替えるサンプルコードです。
<?php
global $template;
$template_name = basename($template, '.php');
?>
<?php if ( $template_name === 'onecolumn-760' ) { ?>
<?php get_template_part( 'components/a' ); ?>
<?php } else { ?>
<?php get_template_part( 'components/b' ); ?>
<?php } ?>