WordPress/wp-admin
Felix Arntz 59e8596941 Themes: Deprecate usage of TEMPLATEPATH and STYLESHEETPATH constants.
While generally the functions `get_template_directory()` and `get_stylesheet_directory()` were long recommended to use to get the parent or child theme directory, the `TEMPLATEPATH` and `STYLESHEETPATH` constants were still used in a few places in core, most importantly in template related logic.

The remaining usage was problematic as it prevented testability of certain key components of WordPress core.

This changeset replaces all remaining usage with the corresponding functions and effectively marks these constants as deprecated. It also adds test coverage accordingly and even unlocks some existing, previously commented out test coverage to work as expected.

Performance of the new approach has been benchmarked and shows no notable differences. Yet, given that the current theme directories are not expected to change within a regular WordPress page load, the `get_template_directory()` and `get_stylesheet_directory()` functions were amended with in-memory caching of the result, unless one of the defining values is being filtered.

Props thekt12, spacedmonkey, mukesh27, aaroncampbell, scribu, lloydbudd, cais, chipbennett, toscho, omarabid, CrazyJaco, DrewAPicture, obenland, wonderboymusic, nacin, helen, dd32, chriscct7, SergeyBiryukov, swissspidy, joemcgill, flixos90.
Fixes #18298.

Built from https://develop.svn.wordpress.org/trunk@56635


git-svn-id: http://core.svn.wordpress.org/trunk@56147 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2023-09-20 17:27:23 +00:00
..
css General: Use regular core button styles for page header actions. 2023-08-24 20:16:18 +00:00
images Help/About: Updates to About page. 2023-07-24 23:39:22 +00:00
includes Themes: Deprecate usage of TEMPLATEPATH and STYLESHEETPATH constants. 2023-09-20 17:27:23 +00:00
js Administration: Move tabindex="-1" from notice to JS. 2023-09-17 22:51:24 +00:00
maint Code Modernization: Use dirname() with the $levels parameter. 2023-09-11 04:53:22 +00:00
network Administration: Use wp_admin_notice() in wp-admin/network/. 2023-09-17 19:12:21 +00:00
user
about.php Help/About: Add images to About page, match header style to images. 2023-08-01 15:04:22 +00:00
admin-ajax.php Coding Standards: Remove extra space in wp-admin/admin-ajax.php. 2022-05-07 16:21:18 +00:00
admin-footer.php Coding Standards: Simplify a condition in wp-admin/admin-footer.php. 2021-06-01 11:30:57 +00:00
admin-functions.php
admin-header.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 14:08:18 +00:00
admin-post.php Administration: Require a valid action parameter to be set for admin-ajax.php requests. 2022-03-02 15:00:11 +00:00
admin.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 14:08:18 +00:00
async-upload.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
authorize-application.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
comment.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
contribute.php Help/About: Escape "Contribute" links, for better consistency. 2023-08-01 12:58:22 +00:00
credits.php Help/About: Escape "Contribute" links, for better consistency. 2023-08-01 12:58:22 +00:00
custom-background.php
custom-header.php
customize.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 14:08:18 +00:00
edit-comments.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
edit-form-advanced.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
edit-form-blocks.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
edit-form-comment.php I18N: Mark screen reader strings as such with translator comments. 2023-02-07 17:10:21 +00:00
edit-link-form.php Administration: Use wp_admin_notice() for .updated. 2023-09-14 02:15:17 +00:00
edit-tag-form.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
edit-tags.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
edit.php Posts: update admin notices to refer to patterns. 2023-09-18 07:04:19 +00:00
erase-personal-data.php Help/About: Use the new /documentation/ URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
export-personal-data.php Help/About: Use the new /documentation/ URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
export.php Coding Standards: Escape the whole attribute in wp-admin/export.php. 2023-09-20 09:47:18 +00:00
freedoms.php Help/About: Updates to About page. 2023-07-24 23:39:22 +00:00
import.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
index.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
install-helper.php Docs: Fix typo and improve DocBlock formatting in wp-admin/install-helper.php. 2022-11-20 14:10:15 +00:00
install.php Upgrade/Install: Add aria-describedby for input descriptions. 2023-06-25 18:44:23 +00:00
link-add.php Docs: Add a comment about the $title global usage in various admin files. 2021-07-22 13:53:00 +00:00
link-manager.php Administration: Use wp_admin_notice() for .updated. 2023-09-14 02:15:17 +00:00
link-parse-opml.php Docs: Use third-person singular verbs in various function descriptions, as per docblocks standards. 2023-06-14 14:08:18 +00:00
link.php Coding Standards: Use pre-increment/decrement for stand-alone statements. 2023-09-09 09:28:26 +00:00
load-scripts.php Docs: Update a comment in wp-admin/load-styles.php per the documentation standards. 2021-12-12 14:52:02 +00:00
load-styles.php Database: Replace str_contains() and str_ends_with() usage in wpdb methods. 2023-06-23 12:17:24 +00:00
media-new.php Help/About: Use the new /documentation/ URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
media-upload.php Coding Standards: Remove superfluous blank lines at the end of various files. 2023-09-07 14:59:21 +00:00
media.php Media: Redirect deprecated wp-admin/media.php file. 2023-06-19 23:20:21 +00:00
menu-header.php Docs: Replace multiple single line comments with multi-line comments. 2023-07-09 19:56:23 +00:00
menu.php Coding Standards: Fix a few newly introduced WPCS issues. 2023-09-17 02:10:17 +00:00
moderation.php
ms-admin.php
ms-delete-site.php Text Changes: Improve the wording of the email sent to confirm site deletion. 2022-11-14 21:57:10 +00:00
ms-edit.php
ms-options.php
ms-sites.php
ms-themes.php
ms-upgrade-network.php
ms-users.php
my-sites.php Administration: Add improved context for add new links. 2023-09-05 19:26:26 +00:00
nav-menus.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
network.php Help/About: Use the new /documentation/ URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
options-discussion.php Help/About: Use the new /documentation/ URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
options-general.php Administration: Use wp_admin_notice() for .updated. 2023-09-14 02:15:17 +00:00
options-head.php
options-media.php Help/About: Use the new /documentation/ URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
options-permalink.php Code Modernization: Replace usage of strpos() with str_starts_with(). 2023-05-02 15:45:22 +00:00
options-privacy.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
options-reading.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
options-writing.php Administration: Hide password in options/writing. 2023-06-22 00:32:21 +00:00
options.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
plugin-editor.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
plugin-install.php Help/About: Use the new /documentation/ URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
plugins.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
post-new.php
post.php Code Modernization: Replace usage of strpos() with str_contains(). 2023-06-22 14:36:26 +00:00
press-this.php
privacy-policy-guide.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
privacy.php Help/About: Updates to About page. 2023-07-24 23:39:22 +00:00
profile.php
revision.php Revisions: Add missing escaping function for $post_edit_link in wp-admin/revision.php. 2023-08-24 09:32:21 +00:00
setup-config.php Upgrade/Install: Show/hide toggle on password fields. 2023-06-23 23:09:29 +00:00
site-editor.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
site-health-info.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
site-health.php Administration: Use wp_admin_notice() in /wp-admin/. 2023-09-14 00:54:19 +00:00
term.php General: Replace all esc_url_raw() calls in core with sanitize_url(). 2022-06-01 18:14:10 +00:00
theme-editor.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
theme-install.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
themes.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
tools.php Help/About: Use the new /documentation/ URLs for HelpHub links in WordPress Admin. 2023-02-23 10:38:21 +00:00
update-core.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
update.php Coding Standards: Replace include_once with require_once for required files. 2023-04-09 11:57:22 +00:00
upgrade-functions.php
upgrade.php Upgrade/Install: Add missing escaping function for get_option( 'home' ) in upgrade.php. 2023-08-25 05:44:16 +00:00
upload.php Administration: additional_classes is not a function. 2023-09-14 22:10:24 +00:00
user-edit.php Administration: Move tabindex="-1" from notice to JS. 2023-09-17 22:51:24 +00:00
user-new.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
users.php Administration: Use wp_admin_notice() more in wp-admin/. 2023-09-17 15:33:17 +00:00
widgets-form-blocks.php Editor: Update preload paths for post, site and widgets editors 2022-04-07 13:40:04 +00:00
widgets-form.php Administration: Use wp_admin_notice() for .updated. 2023-09-14 02:15:17 +00:00
widgets.php Administration: Replace contracted verb forms for better consistency. 2022-03-22 19:59:04 +00:00