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


11

Ich möchte überprüfen können, ob das zwölfundzwanzigste 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?


Antworten:


20

Sie können verwenden 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
}

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

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

5
  if( 'twentytwelve' == get_option( 'template' ) ) {
    // do something
  }
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.