私は12のテーマがアクティブであるかどうかをチェックできるようにしたいです。アクティブなプラグインをチェックしているかどうかはわかっています。
$active_plugins = apply_filters( 'active_plugins', get_option( 'active_plugins' ) );
if ( in_array( 'plugin-folder/plugin-folder.php', $active_plugins ) ) {
//do stuff
} else {
add_action( 'admin_notices', 'create-a-notice' );
}
テーマがアクティブであるかどうかをチェックしてそのテーマの関数を実行できるようにする適切な方法は何ですか?
wp_get_theme
を使用できます。
<?php
$theme = wp_get_theme(); // gets the current theme
if ( 'Twenty Twelve' == $theme->name || 'Twenty Twelve' == $theme->parent_theme ) {
// if you're here Twenty Twelve is the active theme or is
// the current theme's parent theme
}
あるいは、12個の関数が存在するかどうかを単にチェックすることもできます。たとえば、プラグイン、あるいは他のテーマでも、twentytwelve_setup
を宣言できます。
<?php
if ( function_exists( 'twentytwelve_setup' ) ) {
// Twenty Twelve is the current theme or the active theme's parent.
}
if( 'twentytwelve' == get_option( 'template' ) ) {
// do something
}