WordPressのwp_get_theme関数で親テーマと子テーマの名前を取得する

どうもふうやです。

先日Wordpressのテーマ「SANGO」専用のショートコードジェネレータープラグイン「All ShortCode of SANGO」を開発しました。

ふうやSANGOのショートコードを簡単に挿入できるプラグイン「All ShortCode of SANGO」を開発したよ

このプラグインの機能は特定Wordpressテーマをインストールしている場合のみ有効化したかったため、親テーマの名前を取得する関数が無いかと探していました。

そこで見つかったのが、wp_get_theme関数。

wp_get_theme関数は現在有効化しているテーマの名前を取得したり、URIを取得したりと出来ます。

詳しくは関数リファレンスを参考にしてください。

参考 wp_get_theme関数関数リファレンス

この関数は子テーマを有効化していると、子テーマの名前を拾ってくるんですよね。

そこで、wp_get_theme関数を利用して子テーマを有効化している場合でも親テーマの名前を取得する方法を紹介します。

wp_get_theme関数で子テーマを有効化している場合でも親テーマの名前を取得する

親テーマのみ有効化している場合

PHP
$theme_name_slug = wp_get_theme()->Name;

親テーマのみ有効化している場合は至ってシンプルです。

wp_get_theme関数からNameを参照するのみです。

子テーマの名前を取得する場合も同様の方法となります。

子テーマを有効化していて親テーマの名前を取得する場合

PHP
$theme_name_slug = wp_get_theme(get_template())->Name;

ここで利用しているget_template関数は子テーマを利用している場合は親テーマのディレクトリーを返す関数です。

それをwp_get_theme関数の引数としていることで、子テーマを有効化している場合でも親テーマの名前を返すことが出来ます。

まとめ

WordPressにはデフォルトでたくさんの関数やアクションフックが備わっていて、プラグインを開発するのにものすごくはかどりました。

プラグインを開発する上で便利だなと思った関数やアクションフックは随時記事として残していきたいと思います。

ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です