Làm thế nào để kiểm tra nếu một chủ đề đang hoạt động?


11

Tôi muốn có thể kiểm tra xem chủ đề thứ hai mươi đang hoạt động. Tôi biết nếu tôi đang kiểm tra một plugin đang hoạt động, tôi sẽ làm một cái gì đó như:

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

Cách thích hợp để kiểm tra xem một chủ đề có hoạt động để tôi có thể chạy một chức năng cho chủ đề đó không?


1
Bạn có nghĩa là một cái gì đó giống như codex.wordpress.org/Function_Reference/wp_get_theme
Bai Internet

Câu trả lời:


21

Bạn có thể sử dụng 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
}

Hoặc, bạn có thể chỉ cần kiểm tra xem một hàm trong hai mươi hai tồn tại - có khả năng ít tin cậy hơn; một plugin, hoặc thậm chí một chủ đề khác, có thể tuyên bố twentytwelve_setup, ví dụ.

<?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
  }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.