[wp-trac] [WordPress Trac] #53108: `get_theme_file_uri()` fails with query params

WordPress Trac noreply at wordpress.org
Thu Apr 29 01:18:08 UTC 2021

#53108: `get_theme_file_uri()` fails with query params
 Reporter:  zulaica       |      Owner:  (none)
     Type:  defect (bug)  |     Status:  new
 Priority:  normal        |  Milestone:  Awaiting Review
Component:  General       |    Version:  5.7.1
 Severity:  normal        |   Keywords:
  Focuses:                |
 `get_theme_file_uri()` fails to locate a file if it is supplied with any
 query params and incorrectly falls back to returning the parent theme's
 path to the file, including the supplied query params. This prevents the
 ability to use a bundler's versioning without adding complexity to
 registering scripts and styles.

 get_theme_file_uri( '/js/script.js?id=41142aba6c0214da8ec1' );

 // Expected output:
 // 'https://domain.com/wp-

 // Actual output:
 // 'https://domain.com/wp-

 `file_exists()` does not understand the query param when attempting to
 locate the file. One solution could be to use `parse_url()` to determine
 the file path used in the condition:

 <?php // https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-
     } elseif ( file_exists( get_stylesheet_directory() . '/' .
 parse_url($file)['path'] ) ) {

Ticket URL: <https://core.trac.wordpress.org/ticket/53108>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform

More information about the wp-trac mailing list