Як перевірити, чи тема активна?


11

Я хотів би мати можливість перевірити, чи активна тема двадцяти твелів. Я знаю, якби я перевіряв активний плагін, я зробив би щось на кшталт:

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

Який правильний спосіб перевірити, чи тема активна, щоб я міг запустити функцію для цієї теми?


1
Ви маєте на увазі щось на зразок цього codex.wordpress.org/Function_Reference/wp_get_theme
Bainternet

Відповіді:


22

Ви можете використовувати 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
}

Або ви можете просто перевірити, чи існує функція в двадцятирозвитку - яка, ймовірно, є менш надійною; twentytwelve_setupНаприклад, плагін або навіть інша тема можуть оголосити .

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.