如何检查主题是否处于活动状态?

时间:2013-04-07 作者:Jeremiah Prummer

我想检查一下“二十一二”主题是否处于活动状态。我知道如果我正在检查一个活动插件,我会做如下操作:

$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\' );
}
检查主题是否处于活动状态以便我可以为该主题运行函数的正确方法是什么?

2 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

您可以使用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
}
或者,您可以简单地检查Twenty12中是否存在函数,这可能不太可靠;插件或其他主题可以声明twentytwelve_setup, 例如。

<?php
if ( function_exists( \'twentytwelve_setup\' ) ) {
   // Twenty Twelve is the current theme or the active theme\'s parent.
}

SO网友:liying
  if( \'twentytwelve\' == get_option( \'template\' ) ) {
    // do something
  }
结束

相关推荐

Combining wordpress themes

有没有办法在不使用插件呈现不同主题的页面的情况下组合两个Wordpress主题,如果有,最有效的方法是什么?它是否像复制和粘贴一个主题的功能一样简单。php(和其他文件)进入第一个主题?我是否制作儿童主题?我正试图为全球的清洁能源计划建立一个数据库,并且喜欢我购买的其中一个主题的地图功能。然而,一旦你通过地图,主题就不是很好用,也不能容纳很多信息。这就是第二个主题。如果可能的话,我想保留这两个主题的功能。