这取决于你在WordPress环境中的位置。
<?php
$url = plugins_url(\'css/admin.css\', __FILE__);
以上内容将为您提供相对于传递到第二个参数的文件的路径。因此,如果你在主插件文件中,你可能会得到
http://example.com/wp-content/plugins/your-plugin/css/admin.css
.
还有plugin_dir_url
获取目录的URL。一种相当常见的模式是在主插件文件中用插件url定义一个常量。
<?php
/** plugin name: wpse216913 example */
define(\'WPSE216913_PLUGINURL\', plugin_dir_url(__FILE__));
// wp_enqueue_style(\'example\', WPSE216913_PLUGINURL.\'css/admin.css\');
另一方面,主题应使用
get_template_directory_uri
或
get_stylesheet_directory_uri
.
get_template_directory_uri
如果存在父主题,将返回父主题的目录URI。get_stylesheet_directory_uri
如果有子主题,则返回子主题的URI,否则返回父主题的URI。有关差异的更多信息,请阅读法典。这个twenty fifteen theme 有一些如何使用这些的示例。
wp_enqueue_style(
\'twentyfifteen-ie\',
get_template_directory_uri().\'/css/ie.css\',
array(\'twentyfifteen-style\'),
\'20141010\'
);
上载使用
wp_get_attachment_image_src
对于上载的图像。返回值还将包括图像的宽度和高度。这也让你说出你想要的尺寸。
或者有wp_get_attachment_url
检索上载的附件的URL。如果用于图像,这将返回原始图像的URL。
如果需要上载目录的URL(或路径),以便执行自定义上载或其他操作,可以使用wp_upload_dir
它返回一个包含所有所需信息的数组。
print_r(wp_upload_dir())
/*
Array
(
[path] => /path/to/wordpress/wp-content/uploads/2016/02
[url] => http://example.com/wp-content/uploads/2016/02
[subdir] => /2016/02
[basedir] => /path/to/wordpress/wp-content/uploads
[baseurl] => http://example.com/wp-content/uploads
[error] => false
)
*/
其他有用的URL函数
所有这些函数都有相同的签名,
urlFunc($path, $scheme)
, 这两个参数都是可选的。
home_url
返回相对于网站主页的路径。
echo home_url(\'/example\'); // http://example.com/example
site_url
返回相对于WordPress核心文件所在位置的URL。假设目录中有WordPress
wp
...
echo site_url(\'/example\'); // http://example.com/wp/example
admin_url
返回相对于
wp-admin
路径在需要路径时非常有用
admin-ajax.php
, 例如。
echo admin_url(\'admin-ajax.php\'); // http://example.com/wp/wp-admin/admin-ajax.php
还有一些像
content_url
和
includes_url
它返回指向WP内容的路径,并分别包括目录(或与其相关的路径)。