当前位置:代码狗 > WordPress > WP建站 > 正文

WordPress获取主题信息函数wp_get_theme详解

WordPress主题信息在开发主题时可能会用到,一般是在主题的更新功能时使用。wp_get_theme函数可以直接得到当前启用的主题或者指定的主题信息,包括版本作者路径等。就主题更新功能而言,开发者只需要判断返回的主题对象中版本号是否小于最新版本号即可确定是否更新。比如国内著名主题DUX就使用了这个方法来实现主题的更新功能,下面看看官方对这个函数的介绍及使用。

WordPress教程

WordPress教程

函数构造及参数说明

wp_get_theme( string $stylesheet = null, string $theme_root = null )

函数原型:

function wp_get_theme( $stylesheet = null, $theme_root = null ) {
    global $wp_theme_directories;
 
    if ( empty( $stylesheet ) ) {
        $stylesheet = get_stylesheet();
    }
 
    if ( empty( $theme_root ) ) {
        $theme_root = get_raw_theme_root( $stylesheet );
        if ( false === $theme_root ) {
            $theme_root = WP_CONTENT_DIR . '/themes';
        } elseif ( ! in_array( $theme_root, (array) $wp_theme_directories ) ) {
            $theme_root = WP_CONTENT_DIR . $theme_root;
        }
    }
 
    return new WP_Theme( $stylesheet, $theme_root );
}

描述:获得当前主题或指定主题的信息。

参数:

$stylesheet

(string) (可选) 指定的主题名,默认当前主题。

默认值: 空

$theme_root

(string) (可选) 主题的绝对路径,如果为空, 则使用get_raw_theme_root()函数得到的路径 (默认当前主题).

默认值: 空

返回值

(WP_Theme) 主题对象。 如果不知道主题是否存在,请使用主题对象的exists()方法判断。

简单使用

<?php 
$my_theme = wp_get_theme( 'twentytwelve' );
if ( $my_theme->exists() )
    echo esc_html( $my_theme );
?>

结果:

object(WP_Theme)[916]
  public 'update' => boolean false
  private 'theme_root' => string 'home/path/wp-content/themes' (length=77)
  private 'headers' => 
    array (size=11)
      'Name' => string 'mytheme' (length=7)
      'ThemeURI' => string 'http://example.com/' (length=22)
      'Description' => string 'Description' (length=11)
      'Author' => string 'Something Here' (length=14)
      'AuthorURI' => string 'http://example.com/' (length=22)
      'Version' => string '1.0.0' (length=5)
      'Template' => string '' (length=0)
      'Status' => string '' (length=0)
      'Tags' => string 'custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready' (length=98)
      'TextDomain' => string 'mytheme' (length=7)
      'DomainPath' => string '' (length=0)
  private 'headers_sanitized' => null
  private 'name_translated' => null
  private 'errors' => null
  private 'stylesheet' => string 'mytheme' (length=7)
  private 'template' => string 'mytheme' (length=7)
  private 'parent' => null
  private 'theme_root_uri' => null
  private 'textdomain_loaded' => null
  private 'cache_hash' => string 'ca9dd01f01f2a5cb4616a776eff52690' (length=32)

感觉很棒!可以赞赏支持我哟~

赞(1) 打赏

评论 9

  1. #3

    wordpress有个小问题想问下站长! 求解决啊

    wordpress4个月前 (06-05)回复
    • 那你倒是说呀

      代码狗4个月前 (06-05)回复
      • wordpress怎么自定义全局变量?

        wordpress4个月前 (06-05)
      • 这个不是一两句话能说得清的,有插件案例教你如何使用,https://wordpress.org/plugins/custom-global-variables/

        代码狗4个月前 (06-05)
      • 希望站长写一篇关于注册的文章,就是可以有手机验证码的那种

        wordpress4个月前 (06-05)
      • 好的,最近几天会更新你要的文章。

        代码狗4个月前 (06-05)
  2. #2

    我现在看到代码就头疼,哈哈哈

    淘宝刷单平台4个月前 (05-08)回复
  3. #1

    沙发,主题不会写,只会看哪个对自己眼。

    奶爸de笔记4个月前 (05-08)回复
    • 学呀,又不难。

      代码狗4个月前 (05-08)回复
×

请作者吃根烤肠!

支付宝