指定したテーマディレクトリのURLを返す関数


WordPressでテーマディレクトリのURLを取得したい時は「get_template_directory_uri()」を使うと、「http://hoge.com/wp-content/themes/my_theme」のような文字列が返ってきます。

もし、使っているテーマが子テーマの時は「get_template_directory_uri()」だと、親テーマのディレクトリURLが返ってきます。

子テーマ自身のディレクトリのURLが欲しいときは、「get_stylesheet_directory_uri ()」を使うと、「http://hoge.com/wp-content/themes/child_theme」のようにURLを取得することが可能です。

 

では、親テーマでも子テーマでもない、インストールされている他のテーマのディレクトリURLを取得するときはどうしようか。

get_theme_root()」で、テーマディレクトリの絶対パスが取得できます。

なので、例えば「another_theme」のパスを使いたい時は、次のように書くことが可能です。

 

でも、これだと「another_theme」がWordPressにインストールされているかのチェックが出来ません。

ということで、次のコードをfunctions.phpに記述します。

 

これで次のように書くことで指定のテーマディレクトリURLが取得できます。

 

インストールされてなければfalseが返ってくるので、次のように使うことが可能です。

 

…というか、普通こんなシチュエーションがあるのだろうか。僕はあったんですが。

この記事を書いた人:

ナカシマ

北区赤羽在住のWEBデザイナー兼エンジニア。インターネット、WordPress、本・漫画、音楽が大好き。妻と猫と暮らすアップル信者。

BLOG: 着ぐるみ追い剥ぎペンギン