Pregunta sobre The Events Calendar de Wordpress:

fine_get_events y eventos de varios viernes

Un usuario pregunt贸 馃憞

Hola,

En un sitio web que mantengo, uso la funci贸n fine_get_events para encontrar un evento en una fecha espec铆fica (para crear un enlace en un calendario a la p谩gina del evento). Esto ha funcionado bien durante un tiempo, pero en alg煤n momento (no estoy seguro de cu谩ndo) dej贸 de funcionar para eventos de varios d铆as. Sigue siendo v谩lido para eventos de un d铆a. Si cambio un evento de varios viernes para que comience y termine el mismo d铆a, se muestra

Este es el c贸digo que estoy usando …

// Retrieve one event on date
$events = tribe_get_events(  [
	'eventDisplay' => 'custom',
	'start_date'   => $searchDate.' 00:01',
	'end_date'     => $searchDate.' 23:59',
	'posts_per_page' => 1
] );

Seg煤n tengo entendido, esto deber铆a revertir cualquier evento activo entre las dos fechas y ha estado funcionando bien durante un tiempo. He intentado muchos cambios (sin fechas) y he confirmado 0 resultados devueltos. 驴Alguna sugerencia?

Andy

(@sjaure)

Hace 1 a帽o, 3 meses

Hola Andy, gracias por escribirnos.

Por lo que veo en su bot贸n, hay algunas cosas a tener en cuenta. Nunca ganar谩 eventos de varios viernes, ya que se dice espec铆ficamente que los eventos comienzan y terminan en la misma fecha ($ searchDate). Adem谩s, todo depende del valor de $ searchDate. A esto se le debe asignar una fecha sin hora. Aqu铆 hay un art铆culo basado en el conocimiento para ayudarlo con esto: https://support.theeventscalendar.com/666307-Using-tribe_get_events

Av铆same si esto ayuda a Best Santiago

(@ eccles42)

Hace 1 a帽o, 3 meses

Gracias por la respuesta. El caso es que sol铆a funcionar y trabajar durante un buen tiempo. Vi esa p谩gina y entend铆 que start_date y end_date mostraban el rango de fechas para buscar all铆, como se describe aqu铆: https://support.theeventscalendar.com/666307-Using-tribe_get_events/666307-Using-tribe_get_events?r=1#event-specific-arguments

Si start_date es el inicio de los eventos, la primera instancia solo devolver铆a los eventos que comienzan en el d铆a pasado a la funci贸n, no los otros 5 eventos.

Amway me pregunto si hubo algo as铆 porque siempre puedo codificarlo.

Gracias,

Andy

(@ loma13)

Hace 1 a帽o, 2 meses

Hola, necesito hacer lo mismo. Y lo busco. Como ejemplo, tengo que tener todos los eventos el 16 de noviembre. Y para eventos de varios viernes, se deben mostrar los eventos con start_date antes y end_date despu茅s …

(@ eccles42)

Hace 1 a帽o, 2 meses

Aqu铆 est谩 mi trabajo por temor a que alguien lo use. Esta funci贸n devuelve la URL y el t铆tulo de los eventos que ocurren en un d铆a en particular, lo uso en un calendario.

Solo necesita ajustar los 芦-3 d铆as禄 para adaptarse a la duraci贸n de los eventos, ya que fine_get_events no devolver谩 los eventos existentes. Necesita un poco m谩s de ajustes, como una fecha de finalizaci贸n para que no retroceda un a帽o completo, pero es de esperar que ayude a alguien.

function get_event_link($day,$month,$year)
{
	global $post;
		
	$searchDate = mktime(00, 00, 00, $month, $day, $year);
        
	// Retrieve events from the search date -3 days
	$events = tribe_get_events(  [
    	'eventDisplay' => 'custom',
    	'start_date'   => strtotime('-3 days',$searchDate)
	] );
	
	//loop through the events until an event between the start end end date is found
	foreach ( $events as $post ) {
    	setup_postdata( $post ); 
            $startDate = strtotime(tribe_get_start_date($post->ID, false, 'Y-m-d'));
            $endDate = strtotime(tribe_get_end_date($post->ID, false, 'Y-m-d'));
    
            if($searchDate>=$startDate && $searchDate<=$endDate)                    
		return array(tribe_get_event_link($post),$post->post_title);
	}
}

Andy

驴Solucion贸 tu problema??

0 / 0

Deja una respuesta 0

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *