Skip to content

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

@westonruter

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

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

Status

Done 😃

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions