Home » 开发 » wordpress获取各种路径的方法

wordpress获取各种路径的方法

本文目录
[隐藏]

在开发WordPress主题或者插件时,经常需要获取wordpress的各种路径,包括URL路径和服务器绝对路径,列如:在主题或插件中引用js或css文件时,需要URL地址,在php中include一些自定义的文件时,则需要服务器路径。那么了解wp中与获取路径相关的函数很重要。

以下的例子假设你的wordpress安装在http://www.wphezi.com/下,绝对路径在 /home/www/wphezi/下

站点路径

home_url()

返回站点路径,相当于后台设置->常规中的”站点地址(URL)- Site Address (URL)”。

site_url()

如果WordPress安装在域名根目录下,则该函数与home_url()相同。
如果WordPress安装在子目录下,例如http://www.wphezi.com/wp,则site_url()返回WordPress实际安装地址,相当于后台->设置->常规中的“WordPress Address (URL)”。

admin_url()

返回后台管理地址

content_url()

返回wp-content所在的url

includes_url()

返回wp-includes所在的url

wp_upload_dir()

返回WordPress上传目录的地址,是一个数组,包含一系列与上传地址相关的信息。
用法:

参数:
* ‘path’ – 上传目录的服务器绝对路径,通常以反斜杠(/)开头
* ‘url’ – 上传目录的完整URL
* ‘subdir’ – 子目录名称,通常是以年/月形式组织的目录地址,例如/2012/07
* ‘basedir’ – 上传目录的服务器绝对路径,不包含子目录
* ‘baseurl’ – 上传目录的完整URL,不包含子目录
* ‘error’ – 报错信息.

主题路径

get_theme_root_uri()

获取存放主题的目录URI

get_theme_root()

获取存放主题的目录的服务器绝对路径

get_theme_roots()

获取主题目录的目录名称,如果你的主题目录是/wp-content/themes,则

get_stylesheet_directory()

获取当前启用的主题目录的服务器绝对路径

这个函数可以用来include文件,例如

get_stylesheet_directory_uri()

获取当前启用的主题目录的url

get_stylesheet()

获取当前启用主题的主题目录名称

get_template_directory_uri()

如果当前启用的主题是一个child theme,该函数返回parent theme的主题目录URI,用法与get_stylesheet_directory_uri()类似。

get_template_directory()

如果当前启用的主题是一个child theme,该函数返回parent theme的主题目录的服务器绝对路径,用法与get_stylesheet_directory()类似。

get_stylesheet()

获取当前启用主题的主题目录名称,与get_template()的区别是,如果用了child theme,则返回child theme的目录名称。

插件路径

plugins_url()

获取当前插件的目录的URl,例如一个插件位于/wp-content/plugins/myplugin下,该目录下放有插件的主文件名为myplugin.php,在myplugin.php中执行下面的代码,结果如下

这里所说的插件路径,并不是说一定是插件的根目录,就是说如果你在/myplugin/test/a.php文件中输出 plugins_url(”,__FILE__); 那么会得到http://www.wphezi.com/wp-content/plugins/myplugin/test/这个路径

plugin_dir_url()

返回当前插件的目录URI

plugin_dir_path()

返回当前插件目录的服务器绝对路径

plugin_dir_path()

返回调用该函数的插件文件名称(包含插件路径)

路径相关常量

WordPress中还有一组用define定义的常量代表路径。

WP_CONTENT_DIR

wp-content目录的服务器绝对路径:

WP_CONTENT_URL

wp-content目录的URI地址:

WP_PLUGIN_DIR

插件目录的服务器绝对路径

WP_PLUGIN_URL

插件目录的URI地址

TEMPLATEPATH

当前启用主题目录的服务器绝对路径,相当于get_template_directory()例如

STYLESHEETPATH

当前启用主题目录的服务器绝对路径,相当于get_stylesheet_directory(),与TEMPLATEPATH的区别在于如果使用child theme,该常量指向child theme目录。

参考:资源

雨田

一个喜欢折腾wordpress的爱好者,希望与大家一起探讨wp技术!