WordPress.org

Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Function Reference/plugins url

Description

Retrieves the absolute URL to the plugins or mu-plugins directory (without the trailing slash) or, when using the $path argument, to a specific file under that directory. You can either specify the $path argument as a hardcoded path relative to the plugins or mu-plugins directory, or conveniently pass __FILE__ as the second argument to make the $path relative to the parent directory of the current PHP script file.

Usage

 <?php plugins_url$path$plugin ); ?> 

Default Usage

<?php $url plugins_url(); ?>

Parameters

$path
(string) (optional) Path to the plugin file of which URL you want to retrieve, relative to the plugins or mu-plugins directory or to $plugin if specified.
Default: None
$plugin
(string) (optional) Path under the plugins or mu-plugins directory of which parent directory you want the $path to be relative to.
Default: None

Return Values

(string) 
Absolute URL to the plugins or mu-plugins directory (without the trailing slash) or optionally to a file under that directory.

Example

Default Usage

<?php
$plugins_url = plugins_url();
?>

The $plugins_url variable will equal to the absolute URL to the plugins or mu-plugins directory, e.g. "http://www.example.com/wp-content/plugins".

Common Usage

The plugins_url() function is commonly used in a plugin file. Passing the __FILE__ PHP magic constant in the place of $plugin parameter makes the $path relative to the parent directory of that file:

<?php
echo '<img src="' . plugins_url( 'images/wordpress.png', __FILE__ ) . '" > ';
?>

The above might ouput this HTML markup: <img src="http://www.example.com/wp-content/plugins/my-plugin/images/wordpress.png">.

If you are using the plugins_url() function in a file that is nested inside a subdirectory of your plugin directory, you should use PHP's dirname() function:

<?php
echo '<img src="' . plugins_url( 'images/wordpress.png', dirname(__FILE__) ) . '" > ';
?>

The above might ouput this HTML markup: <img src="http://www.example.com/wp-content/plugins/images/wordpress.png">.

Notes

  • Uses the WP_PLUGIN_URL or, in the case the $plugin path begins with the WPMU_PLUGIN_DIR path, the WPMU_PLUGIN_URL constant internally, to compose the resultant URL. Note that the direct usage of WordPress internal constants is not recommended.
  • Uses apply_filters() to apply "plugins_url" filters on the resultant URL, with the following line of code:
    return apply_filters( 'plugins_url', $url, $path, $plugin );
  • The plugins_url() function should not be called in the global context of plugins, but rather in a hook like "init" or "admin_init" to ensure that the "plugins_url" filters are already hooked at the time the function is called. This is vital for many site configurations to work, and if plugins_url() is called in the global context of a plugin file it cannot be filtered by other plugins (though mu-plugins are able to filter it because they run before any other plugins).

Change Log

Source File

plugins_url() is located in wp-includes/link-template.php.

Related

Plugin paths: plugins_url(), plugin_dir_url(), plugin_dir_path(), plugin_basename()

WordPress Directories:
home_url() Home URL http://www.example.com
site_url() Site directory URL http://www.example.com or http://www.example.com/wordpress
admin_url() Admin directory URL http://www.example.com/wp-admin
includes_url() Includes directory URL http://www.example.com/wp-includes
content_url() Content directory URL http://www.example.com/wp-content
plugins_url() Plugins directory URL http://www.example.com/wp-content/plugins
theme_url() Themes directory URL (#18302) http://www.example.com/wp-content/themes
wp_upload_dir() Upload directory URL (returns an array) http://www.example.com/wp-content/uploads
See also index of Function Reference and index of Template Tags.