Question

Voici une question que j'ai passé plus de 3 heures qui tentent de résoudre, mais chaque approche que je prends finit pas de travail pour moi.

Tout ce que je tente de faire est utiliser ce script calendrier ajax opensource:

et ont les entrées afficher tous les messages dans un type de poste spécifique. Pour chacun des postes au sein de ce type après l'événement que j'ai un METABOX personnalisé avec les champs personnalisés suivants:

  • catégorie d'événement
  • date de début de l'événement
  • heure de début de l'événement
  • date de fin de l'événement
  • temps de fin de l'événement

Au niveau le plus élémentaire, j'ai besoin chaque poste pour se présenter dans la boîte de calendrier applicable en fonction de la « date de début de l'événement » et « heure de début de l'événement » et un lien vers la page Détails du poste d'événement souhaité.

Dans une situation idéale que je cherchais à ce que chaque catégorie d'événement avec sa propre couleur et ont chacun la durée de l'événement sur plusieurs jours si l'événement a lieu une "event_end_date" qui est différente de la date de début.

Quelqu'un at-il fait cela avant et peut passé le code applicable pour obtenir une ou l'autre de ces éléments en place. Je pense que ce serait très utile à la communauté WordPress ainsi.

Était-ce utile?

La solution

FullCalendar est une belle trouvaille.

Me semble que vous aurez besoin d'écrire shortcode (que je montre comment faire ici):

Et puis générer le code pour appeler le FullCalendar dans le shortcode .

Après cela, vous devrez écrire du code pour générer un tableau Javascript ou avoir fait référence à un flux JSON:

Code de Ici vous pouvez mettre dans un fichier .PHP autonome que vous pouvez appeler /fullcalendar-json-feed.php ou tout ce que vous aimez. Le code interroge un type de poste personnalisé appelé event qui se déroulera dans le répertoire racine de votre site Web et va générer un flux JSON et il suppose que vous avez une champs personnalisés nécessaires pour alimenter la gamme / aliments pour animaux. (je vais laisser le reste de la requête et champs personnalisés détails pour vous. Remarque Je ne pas vraiment testé cela avec FullCalendar il pourrait prendre un peu de peaufinage) :

<?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;

Vous pouvez générer l'option de tableau avec le code très similaire à celui ci-dessus. Pourtant, cela va prendre un peu de codage pour vous d'obtenir le droit. Peut-être vous voulez juste utiliser une solution qui est déjà construit? Voici une discussion Questions et réponses sur les calendriers pour WordPress:

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top