The plugins_url WordPress PHP filter allows you to modify the URL to the plugins directory.
Usage
add_filter('plugins_url', 'your_custom_function', 10, 3);
function your_custom_function($url, $path, $plugin) {
// your custom code here
return $url;
}
Parameters
- $url (string) – The complete URL to the plugins directory including scheme and path.
- $path (string) – Path relative to the URL to the plugins directory. Blank string if no path is specified.
- $plugin (string) – The plugin file path to be relative to. Blank string if no plugin is specified.
More information
See WordPress Developer Resources: plugins_url
Examples
Change plugins URL to a CDN
If you want to serve your plugins from a CDN, you can modify the URL.
function serve_plugins_from_cdn($url, $path, $plugin) {
$cdn_url = 'https://cdn.example.com/wp-content/plugins';
return $cdn_url . $path;
}
add_filter('plugins_url', 'serve_plugins_from_cdn', 10, 3);
Add a version query string to the plugins URL
To add a version query string to the plugins URL for cache busting purposes.
function add_version_to_plugins_url($url, $path, $plugin) {
$version = '1.0.0';
return $url . '?ver=' . $version;
}
add_filter('plugins_url', 'add_version_to_plugins_url', 10, 3);
Force SSL for plugins URL
Ensure that the plugins URL is always served over HTTPS.
function force_ssl_plugins_url($url, $path, $plugin) {
return str_replace('http://', 'https://', $url);
}
add_filter('plugins_url', 'force_ssl_plugins_url', 10, 3);
Remove a specific plugin’s URL
If you want to remove the URL of a specific plugin.
function remove_specific_plugin_url($url, $path, $plugin) {
if (strpos($plugin, 'plugin-to-remove') !== false) {
return '';
}
return $url;
}
add_filter('plugins_url', 'remove_specific_plugin_url', 10, 3);
Append custom path to plugins URL
To append a custom path to the plugins URL.
function append_custom_path_to_plugins_url($url, $path, $plugin) {
$custom_path = '/custom/path';
return $url . $custom_path;
}
add_filter('plugins_url', 'append_custom_path_to_plugins_url', 10, 3);