# 确定插件和内容目录 在编写 WordPress 插件时,您经常需要在整个 WordPress 安装过程中以及插件或主题中引用各种文件和文件夹。 WordPress 提供了多种函数来轻松确定给定文件或目录所在的位置。始终在插件中使用这些函数,而不是对 wp-content 目录进行硬编码引用或使用 WordPress 内部常量。 WordPress 允许用户将 wp-content 目录放置在任何他们想要的地方,并根据需要重命名它。永远不要假设插件将在 wp-content/plugins 中,上传将在 wp-content/uploads 中,或者主题将在 wp-content/themes 中。 PHP 的`__FILE__`magic-constant 自动解析符号链接,因此如果 `wp-content` 或 `wp-content/plugins` 什至单个插件目录被符号链接,则硬编码路径将无法正常工作。 #### 常见用法 如果您的插件包含 JavaScript 文件、CSS 文件或其他外部文件,那么您可能需要这些文件的 URL,以便将它们加载到页面中。为此,您应该使用 [plugins\_url()](https://developer.wordpress.org/reference/functions/plugins_url/) 函数如下: ```php plugins_url( 'myscript.js', __FILE__ ); ``` 这将返回 myscript.js 的完整 URL,例如 `example.com/wp-content/plugins/myplugin/myscript.js` 要将插件的 JavaScript 或 CSS 加载到页面中,您应该分别使用 [`wp_enqueue_script()`](https://developer.wordpress.org/reference/functions/wp_enqueue_script/)[`wp_enqueue_style()`](https://developer.wordpress.org/reference/functions/wp_enqueue_style/) ,将结果 `plugins_url()` 作为文件 URL 传递。 #### 可用功能 WordPress 包含许多其他函数,用于确定插件、主题和 WordPress 本身内的文件或目录的路径和 URL。有关其使用的完整信息,请参阅每个功能的单独 DevHub 页面。 #### 插件 ```php plugins_url() plugin_dir_url() plugin_dir_path() plugin_basename() ``` #### 主题 ```php get_template_directory_uri() get_stylesheet_directory_uri() get_stylesheet_uri() get_theme_root_uri() get_theme_root() get_theme_roots() get_stylesheet_directory() get_template_directory() ``` #### 网站首页 ```php home_url() get_home_path() ``` #### WordPress ```php admin_url() site_url() content_url() includes_url() wp_upload_dir() ``` #### 常数 WordPress 在确定内容和插件目录的路径时使用以下常量。这些不应由插件或主题直接使用,但为了完整性而在此处列出。 ```php WP_CONTENT_DIR // no trailing slash, full paths only WP_CONTENT_URL // full url WP_PLUGIN_DIR // full path, no trailing slash WP_PLUGIN_URL // full url, no trailing slash // Available per default in MS, not set in single site install // Can be used in single site installs (as usual: at your own risk) UPLOADS // (If set, uploads folder, relative to ABSPATH) (for e.g.: /wp-content/uploads) ``` #### 有关的 **WordPress 目录**:
[home\_url()](https://developer.wordpress.org/reference/functions/home_url/)主页网址[http://www.example.com](http://www.example.com/)
[site\_url()](https://developer.wordpress.org/reference/functions/site_url/)站点目录 URL[http://www.example.com](http://www.example.com/)[http://www.example.com/wordpress](http://www.example.com/wordpress)
[admin\_url()](https://developer.wordpress.org/reference/functions/admin_url/)管理目录 URL[http://www.example.com/wp-admin](http://www.example.com/wp-admin)
[includes\_url()](https://developer.wordpress.org/reference/functions/includes_url/)包含目录 URL[http://www.example.com/wp-includes](http://www.example.com/wp-includes)
[content\_url()](https://developer.wordpress.org/reference/functions/content_url/)内容目录 URL[http://www.example.com/wp-content](http://www.example.com/wp-content)
[plugins\_url()](https://developer.wordpress.org/reference/functions/plugins_url/)插件目录 URL[http://www.example.com/wp-content/plugins](http://www.example.com/wp-content/plugins)
[wp\_upload\_dir()](https://developer.wordpress.org/reference/functions/wp_upload_dir/)上传目录URL(返回数组)[http://www.example.com/wp-content/uploads](http://www.example.com/wp-content/uploads)