Posted on: 29 sept 2008
Transformer le calendrier wordpress en un agenda
bonjour à tous
aujourd’hui nous allons voir comment transformer en 10 minutes le calendrier de Wordpress en un agenda
Tout d’abord il faut télécharger le plugin the future is now ce petit plugin permet tout simplement de poster un article à une date qui n’est pas encore passée! Ce qui est fort utile pour notre idée que chaque article va être un élément d’un agenda.
Deuxième étape
dans general-template.php trouver la fonction get_calendar() et supprimer la partie en gras
$dayswithposts = $wpdb->get_results(”SELECT DISTINCT DAYOFMONTH(post_date)
FROM $wpdb->posts WHERE MONTH(post_date) = ‘$thismonth’
AND YEAR(post_date) = ‘$thisyear’
AND post_type = ‘post’ AND post_status = ‘publish’ AND post_date < ‘” . current_time(’mysql’) . ‘\”, ARRAY_N);
si vous ne voulez utiliser le calendrier que pour une catégorie et non tous les articles :
$dayswithposts = $wpdb->get_results(”SELECT DISTINCT DAYOFMONTH(post_date)
FROM $wpdb->posts
LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id)
LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
LEFT JOIN $wpdb->terms ON($wpdb->term_taxonomy.term_id = $wpdb->terms.term_id)
WHERE $wpdb->terms.term_id = ‘11′
AND $wpdb->term_taxonomy.taxonomy = ‘category’
AND MONTH(post_date) = ‘$thismonth’
AND YEAR(post_date) = ‘$thisyear’
AND post_type = ‘post’ AND post_status = ‘publish’”, ARRAY_N);
ou 11 représente l’id de la catégorie
voilà c’est fini et ça fonctionne!
Merci, c’est tout juste ce que je cherchais !
Bonjour,
C’est exactement ce dont j’ai besoin.
Mais j’ai un souci : je souhaite utiliser l’agenda pour une seule catégorie, et j’ai beau la spécifier par le term_id cela m’affiche les articles de toutes les catégories et non uniquement celle de la catégorie dont j’ai précisé le id …
peut être faut’il regarder si avec les nouvelles version de wordpress le shéma des tables n’as pas changé ???
le mieu c’est que tu te connecte a ton phpmyadmin et que tu testes les requêtes pour voir les résultat
et en tatonnant tu devrais t’en sortir
Merci pour ta réponse rapide ! Malheureusement, 3 heures et demi et un tube de cachets d’aspirine plus tard, je n’ai toujours pas trouvé la solution. Les tables et les relations entre elles semblent bonnes. Vraiment je ne comprends pas…
Petit “update” après deux jours de galère :
Mon calendrier n’active effectivement que les dates ayant un article appartenant à la catégorie spécifiée, mais lorsque je clique sur une de ces dates, si j’ai d’autres articles à la même date qui ne font pas partie de la catégorie, ils s’affichent aussi dans ma page, et idem si je sélectionne un mois …
Une idée de comment faire pour que ne s’affichent que les articles de la catégorie spécifiée ?
Merci d’avance !
il faut que tu fasse passer la catégorie en paramètre de l’agenda
par exemple ici ça affiche les articles du 20 juin uniquement de la catégorie 11 (la catégorie concert
http://www.aveyron-concert.info/2009/06/20/&cat=11/