Problemas con date_i18n();
-
Muy buenos días jóvenes, hoy vengo a consultaros una duda/problema que tengo con la función date_i18n().
La idea: una lista con los próximos «eventos» donde ponga:
– Título: «Proximamente:»
– Fecha: «XX de xxxx»
– Nombre: «Evento 1»Y cuando el evento sea «hoy»:
– Título: «Hoy:»
– Fecha -> Hora: «00:00»
– Nombre: «Evento 1»Solución pensada:
– Un «if» que compara el día de hoy con el día del evento
– Si es igual, entonces se muestra «Hoy:» y en vez de mostrar la fecha (día y mes) se muestra la hora.Problema:
– En la parte del «if» de hoy, la hora me pone la hora actual en este momento, no la del evento
– Cuando pongo la función mostrar la hora en «próximo» (en vez del día), entonces me muestra bien la hora del evento (no me muestra la hora actual)
– Esto es, solo se muestra mal la hora del evento dentro del «if» (ni en «else» ni fuera), muestra la hora actual y no la hora correcta.Resultado que arroja:
HOY:
Hoy: 23/08/2019
Hoy formateado: 23 de agosto
Fecha evento: 23/08/2019 4:00 pm
Fecha evento formateado: 23 de agosto
Hora evento formateado: 08:51
08:51 | SesionSWPPROXIMAMENTE
Hoy: 23/08/2019
Hoy formateado: 23 de agosto
Fecha evento: 09/09/2019 7:00 pm
Fecha evento formateado: 9 de septiembre
Hora evento formateado: 19:00
19:00 | WebinarCódigo utilizado:
if ( have_rows( 'ahora_swp', 'option' ) ) : echo '<div id="swp-now">'; echo '<ul>'; while ( have_rows( 'ahora_swp', 'option' ) ) : the_row(); $name = get_sub_field( 'ahora_swp_nombre' ); $url = get_sub_field( 'ahora_swp_enlace' ); $today = current_time( 'd/m/Y' ); // Get the current time. $today_output = date_i18n( 'j \d\e F', strtotime( $today ) ); $event_day = get_sub_field( 'ahora_swp_fecha' ); $event_day_output = date_i18n( 'j \d\e F', strtotime( $event_day ) ); $event_time_output = date_i18n( 'H:i', strtotime( $event_day ) ); echo '<li>'; if ( $event_day_output === $today_output ) { echo '<h4>Hoy:</h4>'; echo '<span>' . esc_html( $event_time_output ) . '</span> | <a href="' . esc_url( $url ) . '" title="Ver ' . esc_html( $name ) . '">' . esc_html( $name ) . '</a>'; } else { echo '<h4>Proximamente:</h4>'; echo '<span>' . esc_html( $event_time_output ) . '</span> | <a href="' . esc_url( $url ) . '" title="Ver ' . esc_html( $name ) . '">' . esc_html( $name ) . '</a>'; } echo '</li>'; endwhile; echo '</ul>'; echo '</div> <!-- #swp-now -->'; endif;
——
Muchas gracias.
- El debate ‘Problemas con date_i18n();’ está cerrado a nuevas respuestas.