WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Im seeing WordPress plugins either use plugins_url or plugin_dir_url when creating constants to some of their folders. Is one better than the other?


define( 'MEMBERS_URI', trailingslashit( plugin_dir_url( __FILE__ ) ) );
define( 'WPACCESS_INC', plugins_url( 'inc', __FILE__ ) , true );
share|improve this question
Note - you don't need to use trailingslashit() for plugin_dir_url() because it already uses it within function. – amit Aug 13 '12 at 16:00
up vote 12 down vote accepted

Checkout - wp-includes/plugin.php#L585

plugin_dir_url() function internally uses plugins_url() to get the link to plugin directory.


This will return url of plugin directory with a trainling slash at the end. So this can be easily used to link to plugin directory.

E.g - http://www.example.com/wp-content/plugins/foo/


If no arguments are passed this will results same as of above function, but with or without trailing slash at end. This can be configured to link to files within plugin directory.

E.g -

plugins_url( 'img/bar.jpg' , __FILE__ ) will return a url like http://www.example.com/wp-content/plugins/foo/img/bar.jpg

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.