Dashboard: Improve the appearance of "WordPress Events and News" dashboard widget for multi-day events.
If an upcoming event spans over several days, this information is now properly reflected in the widget. Props imath, casiepa, iandunn, hareesh-pillai, melchoyce, mapk, desrosj, audrasjb, SergeyBiryukov. Fixes #47798. git-svn-id: https://develop.svn.wordpress.org/trunk@47124 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
7e521e68dc
commit
b30baca3ca
@ -376,8 +376,47 @@ class WP_Community_Events {
|
|||||||
* are available, without having to open the link.
|
* are available, without having to open the link.
|
||||||
*/
|
*/
|
||||||
/* translators: Date format for upcoming events on the dashboard. Include the day of the week. See https://www.php.net/date */
|
/* translators: Date format for upcoming events on the dashboard. Include the day of the week. See https://www.php.net/date */
|
||||||
$response_body['events'][ $key ]['formatted_date'] = date_i18n( __( 'l, M j, Y' ), $timestamp );
|
$formatted_date = date_i18n( __( 'l, M j, Y' ), $timestamp );
|
||||||
$response_body['events'][ $key ]['formatted_time'] = date_i18n( get_option( 'time_format' ), $timestamp );
|
$formatted_time = date_i18n( get_option( 'time_format' ), $timestamp );
|
||||||
|
|
||||||
|
if ( isset( $event['end_date'] ) ) {
|
||||||
|
$end_timestamp = strtotime( $event['end_date'] );
|
||||||
|
$formatted_end_date = date_i18n( __( 'l, M j, Y' ), $end_timestamp );
|
||||||
|
|
||||||
|
if ( 'meetup' !== $event['type'] && $formatted_end_date !== $formatted_date ) {
|
||||||
|
/* translators: Upcoming events month format. See https://www.php.net/date */
|
||||||
|
$start_month = date_i18n( _x( 'F', 'upcoming events month format' ), $timestamp );
|
||||||
|
$end_month = date_i18n( _x( 'F', 'upcoming events month format' ), $end_timestamp );
|
||||||
|
|
||||||
|
if ( $start_month === $end_month ) {
|
||||||
|
$formatted_date = sprintf(
|
||||||
|
/* translators: Date string for upcoming events. 1: Month, 2: Starting day, 3: Ending day, 4: Year. */
|
||||||
|
__( '%1$s %2$d–%3$d, %4$d' ),
|
||||||
|
$start_month,
|
||||||
|
/* translators: Upcoming events day format. See https://www.php.net/date */
|
||||||
|
date_i18n( _x( 'j', 'upcoming events day format' ), $timestamp ),
|
||||||
|
date_i18n( _x( 'j', 'upcoming events day format' ), $end_timestamp ),
|
||||||
|
/* translators: Upcoming events year format. See https://www.php.net/date */
|
||||||
|
date_i18n( _x( 'Y', 'upcoming events year format' ), $timestamp )
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$formatted_date = sprintf(
|
||||||
|
/* translators: Date string for upcoming events. 1: Starting month, 2: Starting day, 3: Ending month, 4: Ending day, 5: Year. */
|
||||||
|
__( '%1$s %2$d – %3$s %4$d, %5$d' ),
|
||||||
|
$start_month,
|
||||||
|
date_i18n( _x( 'j', 'upcoming events day format' ), $timestamp ),
|
||||||
|
$end_month,
|
||||||
|
date_i18n( _x( 'j', 'upcoming events day format' ), $end_timestamp ),
|
||||||
|
date_i18n( _x( 'Y', 'upcoming events year format' ), $timestamp )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$formatted_date = wp_maybe_decline_date( $formatted_date, 'F j, Y' );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$response_body['events'][ $key ]['formatted_date'] = $formatted_date;
|
||||||
|
$response_body['events'][ $key ]['formatted_time'] = $formatted_time;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user