$year, 'week' => $week, ); } /** * Render week filter control in event admin list. * * @param string $post_type Current post type. */ function tony_sportspress_render_admin_week_filter( $post_type ) { if ( 'sp_event' !== $post_type ) { return; } $value = ''; if ( ! empty( $_GET['sp_week_filter'] ) ) { $value = sanitize_text_field( wp_unslash( $_GET['sp_week_filter'] ) ); } $summary_text = __( 'Select a week', 'tonys-sportspress-enhancements' ); $parsed = tony_sportspress_parse_admin_week_filter(); if ( is_array( $parsed ) ) { $timezone = wp_timezone(); $monday = ( new DateTimeImmutable( 'now', $timezone ) )->setISODate( $parsed['year'], $parsed['week'], 1 )->setTime( 0, 0, 0 ); $sunday = $monday->modify( '+6 days' )->setTime( 23, 59, 59 ); /* translators: 1: Monday label/date, 2: Sunday label/date. */ $summary_text = sprintf( __( '%1$s to %2$s', 'tonys-sportspress-enhancements' ), wp_date( 'D M j, Y', $monday->getTimestamp(), $timezone ), wp_date( 'D M j, Y', $sunday->getTimestamp(), $timezone ) ); } ?> id ) { return; } ?> id ) { return; } ?> is_main_query() ) { return; } $post_type = $query->get( 'post_type' ); if ( 'sp_event' !== $post_type ) { return; } $parsed = tony_sportspress_parse_admin_week_filter(); if ( null === $parsed ) { return; } $timezone = wp_timezone(); $monday = ( new DateTimeImmutable( 'now', $timezone ) )->setISODate( $parsed['year'], $parsed['week'], 1 )->setTime( 0, 0, 0 ); $sunday = $monday->modify( '+6 days' )->setTime( 23, 59, 59 ); $date_query = $query->get( 'date_query' ); if ( ! is_array( $date_query ) ) { $date_query = array(); } $date_query[] = array( 'after' => array( 'year' => (int) $monday->format( 'Y' ), 'month' => (int) $monday->format( 'n' ), 'day' => (int) $monday->format( 'j' ), ), 'before' => array( 'year' => (int) $sunday->format( 'Y' ), 'month' => (int) $sunday->format( 'n' ), 'day' => (int) $sunday->format( 'j' ), ), 'inclusive' => true, ); $query->set( 'date_query', $date_query ); } add_action( 'pre_get_posts', 'tony_sportspress_apply_admin_week_filter' );