Filed under: wordpress   by admin

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!

Add to: Digg Add to: Del.icio.us Add to: Reddit Add to: StumbleUpon Add to: Netscape Add to: Furl Add to: Google Add to: Technorati Add to: Newsvine

6 Comments to “Transformer le calendrier wordpress en un agenda”

  1. poueton 16 avr 2009 at 19:34
    mygif

    Merci, c’est tout juste ce que je cherchais !

  2. Tochkaon 12 juin 2009 at 12:07
    mygif

    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 …

  3. emileon 12 juin 2009 at 12:28
    mygif

    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

  4. Tochkaon 12 juin 2009 at 15:56
    mygif

    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…

  5. Tochkaon 14 juin 2009 at 14:01
    mygif

    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 !

  6. emileon 14 juin 2009 at 14:44
    mygif

    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/

Trackback URI | Comments RSS

Leave a Comment