1. David Wu首页
  2. WordPress
  3. WordPress安装教程

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

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

函数构造

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

函数原型:

  1. function wp_get_theme( $stylesheet = null, $theme_root = null ) {
  2.     global $wp_theme_directories;
  3. 
    
  4.     if ( empty( $stylesheet ) ) {
  5.         $stylesheet = get_stylesheet();
  6.     }
  7. 
    
  8.     if ( empty( $theme_root ) ) {
  9.         $theme_root = get_raw_theme_root( $stylesheet );
  10.         if ( false === $theme_root ) {
  11.             $theme_root = WP_CONTENT_DIR . '/themes';
  12.         } elseif ( ! in_array( $theme_root, (array) $wp_theme_directories ) ) {
  13.             $theme_root = WP_CONTENT_DIR . $theme_root;
  14.         }
  15.     }
  16. 
    
  17.     return new WP_Theme( $stylesheet, $theme_root );
  18. }

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

参数:

$stylesheet

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

默认值: 空

$theme_root

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

默认值: 空

返回值

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

简单使用

  1. <?php
  2. $my_theme = wp_get_theme( 'twentytwelve' );
  3. if ( $my_theme->exists() )
  4.     echo esc_HTML( $my_theme );
  5. ?>

结果:

  1. object(WP_Theme)[916]
  2.   public 'update' => boolean false
  3.   private 'theme_root' => string 'home/path/wp-content/themes' (length=77)
  4.   private 'headers' =>
  5.     array (size=11)
  6.       'Name' => string 'mytheme' (length=7)
  7.       'ThemeURI' => string 'http://example.com/' (length=22)
  8.       'Description' => string 'Description' (length=11)
  9.       'Author' => string 'Something Here' (length=14)
  10.       'AuthorURI' => string 'http://example.com/' (length=22)
  11.       'Version' => string '1.0.0' (length=5)
  12.       'Template' => string '' (length=0)
  13.       'Status' => string '' (length=0)
  14.       'Tags' => string 'custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready' (length=98)
  15.       'TextDomain' => string 'mytheme' (length=7)
  16.       'DomainPath' => string '' (length=0)
  17.   private 'headers_sanitized' => null
  18.   private 'name_translated' => null
  19.   private 'errors' => null
  20.   private 'stylesheet' => string 'mytheme' (length=7)
  21.   private 'template' => string 'mytheme' (length=7)
  22.   private 'parent' => null
  23.   private 'theme_root_uri' => null
  24.   private 'textdomain_loaded' => null
  25.   private 'cache_hash' => string 'ca9dd01f01f2a5cb4616a776eff52690' (length=32)

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/93722

服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

邮箱地址不会被公开。 必填项已用*标注