- WordPress
- 2016-07-03 - 更新:2016-07-13
この記事は最終更新日から1年以上経過しています。
日本語の公式リファレンスが未記入だったので、覚書の意味も含めて書きたいと思います。
WordPressにて、現在インストールされているテーマの一覧を表示する方法です。
wp_get_themes
という関数を使用します。
戻り値に各テーマの情報を連想配列で返してくれますので、ループして情報を取り出すことができます。
$themes = wp_get_themes(); print_r($themes);
出力結果の例
Array ( [twentyfifteen] => WP_Theme Object ( [update] => [theme_root:WP_Theme:private] => /rootpath/wp-content/themes [headers:WP_Theme:private] => Array ( [Name] => Twenty Fifteen [ThemeURI] => https://wordpress.org/themes/twentyfifteen/ [Description] => Our 2015 default theme is clean, ... [Author] => the WordPress team [AuthorURI] => https://wordpress.org/ [Version] => 1.5 [Template] => [Status] => [Tags] => black, blue, gray, pink, ... [TextDomain] => twentyfifteen [DomainPath] => ) [headers_sanitized:WP_Theme:private] => [name_translated:WP_Theme:private] => [errors:WP_Theme:private] => [stylesheet:WP_Theme:private] => twentyfifteen [template:WP_Theme:private] => twentyfifteen [parent:WP_Theme:private] => [theme_root_uri:WP_Theme:private] => [textdomain_loaded:WP_Theme:private] => [cache_hash:WP_Theme:private] => ) )
※取得したオブジェクトのメソッドやプロパティ等の詳細についてはwp-includes/class-wp-theme.php
の内容を参照してください。
テーマの名前だけを表示したいときは以下のようにします。
foreach($themes as $theme) { $t = new WP_Theme($theme->stylesheet, get_theme_root()); echo $t->__toString()."\n"; }
また、テーマのテンプレート名のみ取り出したいときは
foreach($themes as $theme) { echo $theme->stylesheet."\n"; }
2,042 views