it-swarm.com.de

Wie überprüfe ich, ob ein Thema aktiv ist?

Ich möchte in der Lage sein, zu überprüfen, ob das zwanzigste Thema aktiv ist. Ich weiß, wenn ich nach einem aktiven Plugin suchen würde, würde ich Folgendes tun:

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

Wie kann ich überprüfen, ob ein Thema aktiv ist, damit ich eine Funktion für dieses Thema ausführen kann?

9

Sie können wp_get_theme verwenden:

<?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
}

Oder Sie können einfach überprüfen, ob eine Funktion in zwanzig vorhanden ist - was wahrscheinlich weniger zuverlässig ist. Ein Plugin oder auch ein anderes Thema könnte beispielsweise twentytwelve_setup deklarieren.

<?php
if ( function_exists( 'twentytwelve_setup' ) ) {
   // Twenty Twelve is the current theme or the active theme's parent.
}
17
chrisguitarguy
  if( 'twentytwelve' == get_option( 'template' ) ) {
    // do something
  }
5
liying