Skip to content

Enqueued scripts should use plugins_url() instead of plugin_dir_url() #1647

Description

@westonruter

Feature Description

When the URLs for JS files are generated in the plugins, the plugin_dir_url() function is used. Its output is concatenated with the relative path:

wp_json_encode( add_query_arg( 'ver', OPTIMIZATION_DETECTIVE_VERSION, plugin_dir_url( __FILE__ ) . 'detect.js' ) ),

However, this is not ideal because the resulting URL is not directly filterable. It would be better to use plugins_url():

- add_query_arg( 'ver', OPTIMIZATION_DETECTIVE_VERSION, plugin_dir_url( __FILE__ ) . 'detect.js'
+ plugins_url( add_query_arg( 'ver', OPTIMIZATION_DETECTIVE_VERSION, 'detect.js' ), __FILE__ )

In this way, the plugins_url filter can be used to potentially rewrite the URL to point to a CDN, for example.

See instances: https://github.com/search?q=repo%3AWordPress%2Fperformance%20%2Fplugin_dir_url%5C(%2F&type=code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Good First IssueIssue particularly suitable to be worked on by new contributors[Plugin] Embed OptimizerIssues for the Embed Optimizer plugin (formerly Auto Sizes)[Plugin] Optimization DetectiveIssues for the Optimization Detective plugin[Plugin] Performance LabIssue relates to work in the Performance Lab Plugin only[Plugin] Web Worker OffloadingIssues for the Web Worker Offloading plugin.[Type] EnhancementA suggestion for improvement of an existing feature

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions