Como verificar se um tema está ativo?

8

Gostaria de poder verificar se o tema vinte e doze está ativo. Eu sei que se eu estivesse procurando por um plugin ativo eu faria algo como:

$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' );
}

Qual é a maneira correta de verificar se um tema está ativo para que eu possa executar uma função para esse tema?

    
por Jeremiah Prummer 08.04.2013 / 01:50

2 respostas

16

Você pode usar 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
}

Ou, você pode simplesmente verificar se existe uma função em vinte e doze - o que é provavelmente menos confiável; um plug-in, ou até outro tema, poderia declarar twentytwelve_setup , por exemplo.

<?php
if ( function_exists( 'twentytwelve_setup' ) ) {
   // Twenty Twelve is the current theme or the active theme's parent.
}
    
por chrisguitarguy 08.04.2013 / 04:45
4
  if( 'twentytwelve' == get_option( 'template' ) ) {
    // do something
  }
    
por liying 08.04.2013 / 04:26