Caricamento misura Tipo Messaggio Eventi in jQuery-based FullCalendar?
-
16-10-2019 - |
Domanda
Ecco una domanda che ho speso più di 3 ore che tentano di risolvere, ma ogni approccio prendo finisce per non lavorano per me.
Tutto quello che sto cercando di fare è utilizzare questo script opensource Calendario Ajax:
e hanno le voci di visualizzare tutti i messaggi all'interno di un tipo specifico messaggio. Per ciascuno dei posti all'interno di questo post evento digitare Ho un METABOX personalizzato con i campi seguenti personalizzati:
- categoria di eventi
- data di inizio evento
- ora di inizio evento
- data di fine evento
- ora di fine evento
Al livello più elementare ho solo bisogno ogni post di presentarsi all'interno della casella di calendario in vigore in base alla "evento data di inizio" e "ora di inizio evento" e il link alla pagina dei dettagli post-evento del caso.
In una situazione ideale che stava cercando di avere ogni categoria di eventi con un proprio colore e hanno ogni campata evento più giorni se l'evento del caso ha un "event_end_date"
che è diverso rispetto alla data di inizio.
Qualcuno ha fatto prima e può passato il codice applicabile per ottenere uno di questi in luogo. Sento che questo sarebbe di grande valore per la comunità WordPress pure.
Soluzione
FullCalendar è una bella scoperta.
A me sembra che dovrete scrivere un shortcode (che mi mostra come fare qui):
E poi generare il codice per chiamare il FullCalendar all'interno del shortcode .
Dopo che avrete bisogno di scrivere il codice per generare un array di Javascript o fa riferimento a un feed JSON:
Codice di Qui si può mettere in un file .PHP
autonomo che si potrebbe chiamare /fullcalendar-json-feed.php
o quello che vuoi. Il codice interroga un tipi di messaggi personalizzati chiamato event
che si svolgerà nella directory principale del tuo sito web e genererà un feed JSON e assume hai qualche campi personalizzati necessari per compilare la matrice / mangimi . (ho intenzione di lasciare il resto della query e campi personalizzati dettagli a voi. Nota ??strong> non ho effettivamente testare questo con FullCalendar quindi potrebbe prendere un po 'di tweaking) :
<?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;
È possibile generare l'opzione array con codice molto simile a quella di cui sopra. Eppure, questo sta andando a prendere un po 'di codifica per voi per ottenere destra. Forse si vuole solo utilizzare una soluzione che è già costruito? Ecco una discussione Q & A sui calendari per WordPress: