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 );
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 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
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0