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.

È stato utile?

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 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:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top