在编写WordPress插件时,您通常需要在整个WordPress安装过程中以及插件或主题中引用各种文件和文件夹。
WordPress提供了几个功能,用于轻松确定给定文件或目录的位置。始终在您的插件中使用这些函数,而不是硬编码对 wp-content 目录的引用或使用 WordPress 内部常量。
提示:WordPress允许用户将他们的wp内容目录放在他们想要的任何位置,并将其重命名为任何他们想要的名称。永远不要假设插件将在wp-content/plugins中,上传将在wp-content/uploads中,或者主题将在wp-content/themes中。
PHP 的魔术常数会自动解析符号链接,因此如果 or 甚至单个插件目录是符号链接的,硬编码路径将无法正常工作。__FILE__wp-contentwp-content/plugins
常见用法
如果您的插件包含 JavaScript 文件、CSS 文件或其他外部文件,那么您可能需要这些文件的 URL,以便将它们加载到页面中。为此,您应该使用 plugins_url() 函数,如下所示:
plugins_url( 'myscript.js', __FILE__ );
这会将完整的 URL 返回到 myscript.js,例如 .example.com/wp-content/plugins/myplugin/myscript.js
要将插件的 JavaScript 或 CSS 加载到页面中,您应该分别使用 wp_enqueue_script() 或 wp_enqueue_style(),将结果作为文件 URL 传递。plugins_url()
可用功能
WordPress包括许多其他功能,用于确定插件,主题和WordPress本身中文件或目录的路径和URL。有关其使用的完整信息,请参阅每个函数的单个 DevHub 页。
插件
plugins_url()
plugin_dir_url()
plugin_dir_path()
plugin_basename()
主题
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()
网站主页
home_url()
get_home_path()
WordPress
admin_url()
site_url()
content_url()
includes_url()
wp_upload_dir()
多站点
get_admin_url()
get_home_url()
get_site_url()
network_admin_url()
network_site_url()
network_home_url()
常数
WordPress在确定内容和插件目录的路径时使用以下常量。这些不应由插件或主题直接使用,但为了完整起见,此处列出。
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目录: