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
admin-footer.php
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
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
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
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
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
widgets-form.php Administration: Use `wp_admin_notice()` for `.updated`. 2023-09-14 02:15:17 +00:00
widgets.php