Date/Time: Return early from the_weekday() and the_weekday_date() if we're not in the loop.

Restore `$previousweekday` global usage in `the_weekday_date()`, so it could still be used simultaneously with `the_date()`.

Partially reverts [45378].
See #47354.
Built from https://develop.svn.wordpress.org/trunk@45379


git-svn-id: http://core.svn.wordpress.org/trunk@45190 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2019-05-23 00:38:52 +00:00
parent ed08643734
commit 3c16bdc538
2 changed files with 21 additions and 9 deletions

View File

@ -2682,7 +2682,13 @@ function get_post_modified_time( $d = 'U', $gmt = false, $post = null, $translat
function the_weekday() { function the_weekday() {
global $wp_locale; global $wp_locale;
$the_weekday = $wp_locale->get_weekday( mysql2date( 'w', get_post()->post_date, false ) ); $post = get_post();
if ( ! $post ) {
return;
}
$the_weekday = $wp_locale->get_weekday( get_post_time( 'w', false, $post ) );
/** /**
* Filters the weekday on which the post was written, for display. * Filters the weekday on which the post was written, for display.
@ -2702,23 +2708,29 @@ function the_weekday() {
* *
* @since 0.71 * @since 0.71
* *
* @global WP_Locale $wp_locale The WordPress date and time locale object. * @global WP_Locale $wp_locale The WordPress date and time locale object.
* @global string $currentday The day of the current post in the loop. * @global string $currentday The day of the current post in the loop.
* @global string $previousday The day of the previous post in the loop. * @global string $previousweekday The day of the previous post in the loop.
* *
* @param string $before Optional. Output before the date. * @param string $before Optional. Output before the date.
* @param string $after Optional. Output after the date. * @param string $after Optional. Output after the date.
*/ */
function the_weekday_date( $before = '', $after = '' ) { function the_weekday_date( $before = '', $after = '' ) {
global $wp_locale, $currentday, $previousday; global $wp_locale, $currentday, $previousweekday;
$post = get_post();
if ( ! $post ) {
return;
}
$the_weekday_date = ''; $the_weekday_date = '';
if ( is_new_day() ) { if ( $currentday !== $previousweekday ) {
$the_weekday_date .= $before; $the_weekday_date .= $before;
$the_weekday_date .= $wp_locale->get_weekday( mysql2date( 'w', get_post()->post_date, false ) ); $the_weekday_date .= $wp_locale->get_weekday( get_post_time( 'w', false, $post ) );
$the_weekday_date .= $after; $the_weekday_date .= $after;
$previousday = $currentday; $previousweekday = $currentday;
} }
/** /**

View File

@ -13,7 +13,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '5.3-alpha-45378'; $wp_version = '5.3-alpha-45379';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.