it-swarm-es.com

¿Cargando eventos de tipo de publicación personalizados en FullCalendar basado en jQuery?

Aquí hay una pregunta que he pasado más de 3 horas intentando resolver, pero cada enfoque que tomo no funciona para mí.

Todo lo que estoy intentando hacer es utilizar este script de calendario ajax de código abierto:

y hacer que las entradas muestren todas las publicaciones dentro de un tipo de publicación específica. Para cada una de las publicaciones dentro de este evento, tengo un metabox personalizado con los siguientes campos personalizados:

  • categoría de evento
  • fecha de inicio del evento
  • hora de inicio del evento
  • fecha de finalización del evento
  • hora de finalización del evento

En el nivel más básico, solo necesito que cada publicación aparezca en el cuadro de calendario correspondiente según la "fecha de inicio del evento" y la "hora de inicio del evento" y el enlace a la página de detalles de la publicación del evento correspondiente.

En una situación ideal, buscaba tener cada categoría de evento con su propio color y que cada evento abarcara varios días si el evento aplicable tiene un "event_end_date" que es diferente a la fecha de inicio.

¿Alguien ha hecho esto antes y puede pasar el código aplicable para poner cualquiera de estos en su lugar? Siento que esto también sería muy valioso para la comunidad de WordPress.

3
NetConstructor.com

FullCalendares un buen hallazgo.

Me parece que necesitarás escribirun shortcode(que muestro cómo hacerlo aquí):

Y luego genera el código para llamar al FullCalendar dentro del shortcode .

Después de eso, deberá escribir código para generar una matriz de Javascript o hacer que haga referencia a una fuente JSON:

Este es el código que puede colocar en un archivo .PHP independiente que puede llamar /fullcalendar-json-feed.php o lo que quiera. El código consulta un tipo de publicación personalizada llamada event que se ejecutará en el directorio raíz de su sitio web y generará un feed JSON y se supone que tiene algunos campos personalizados necesarios para completar la matriz/feed . (Voy a dejar el resto de la consulta y los detalles del campo personalizado para usted.NoteEn realidad no probé esto con FullCalendar, por lo que podría tomar un poco de ajustes) :

<?php
/*
* See: https://wordpress.stackexchange.com/questions/1447/
*
*/
include "wp-load.php";
global $wpdb;
header('Content-Type:application/json');
$events = array();
$result = new WP_Query('post_type=event&posts_per_page=-1');
foreach($result->posts as $post) {
  $events[] = array(
    'title'   => $post->post_title,
    'start'   => get_post_meta($post->ID,'_start_datetime',true),
    'end'     => get_post_meta($post->ID,'_end_datetime',true),
    'allDay'  => (get_post_meta($post->ID,'_all_day',true) ? 'true' : 'false'),
    );
}
echo json_encode($events);
exit;

Puede generar la opción de matriz con un código muy similar al anterior. Aún así, esto va a tomar un poco de codificación para que puedas hacerlo bien. ¿Tal vez solo quieres usar una solución que ya está construida? Aquí hay una discusión de preguntas y respuestas sobre los calendarios para WordPress:

5
MikeSchinkel