plugins_url vs plugin_dir_url

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?

examples:

define( 'MEMBERS_URI', trailingslashit( plugin_dir_url( __FILE__ ) ) );
define( 'WPACCESS_INC', plugins_url( 'inc', __FILE__ ) , true );

Related posts

Leave a Reply

1 comment

  1. Checkout – wp-includes/plugin.php#L585

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

    plugin_dir_url()

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

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

    plugins_url

    If no arguments are passed this will deliver the same result as the above function; but with or without a trailing slash at the end. This can be configured to link to files within plugin directory; a useful shortcut.

    e.g –

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