- Statut : non résolu
- Ce sujet contient 7 réponses, 3 participants et a été mis à jour pour la dernière fois par
Flo563, le il y a 12 années et 5 mois.
-
AuteurMessages
-
29 avril 2011 à 15 h 30 min #494423
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 3.1.1
– Version de PHP/MySQL : PHP5 MySQL 4
– Thème utilisé : Thème perso
– Extensions en place : Futur is now, events calendar
– Nom de l’hebergeur : OVH
– Adresse du site : http://www.radiobro.org (serveur de test)Problème(s) rencontré(s) :
Voici mon contexte :
Notre association est en train de travailler à créer un nouveau site, et nous utilisons les articles de wordpress comme des « événements » (concerts, fêtes, stages… etc) qui sont donc à venir.Pour l’instant nous utilisons la date de publication comme étant la date et heure de l’événement à venir.
J’ai donc installé le plugin futur is now afin que les articles « planifiés » avec des dates futures apparaissent sur le site.Voici mon besoin :
Je cherche à liste sur la page d’accueil :
7 articles
Dans l’ordre du plus récent au plus ancien
En n’affichant que les articles avec une date de publication à venir (et non pas les articles déjà passés).Ce que j’ai essayé pour l’instant c’est simplement la fonction have_posts, couplée au plufin futur is now ça m’affiche bien les articles à venir, mais pas dans le bon ordre, et si je change l’ordre ça m’affiche les articles passés (je synthétise le code pour ne pas vous embrouiller avec mes spécificités d’affichage graphique) :
<?php if (have_posts()) :
?>
<?php while (have_posts()) : the_post();
?>
<div id="mouvant">
<span class="prochain">Prochainement</span>
<p><?php the_time('l j F Y'); ?></p>
<br /><h1><a href="<?php the_permalink() ?> » rel= »bookmark » title= »<?php the_title_attribute(); ?>« ><?php the_title(); ?></a></h1>
<?php the_excerpt(); ?>
<p class="plusinfos"><a href="<?php the_permalink() ?> » rel= »bookmark » title= »<?php the_title_attribute(); ?>« >En savoir plus…</a></p>
</div>
<?php
endwhile;
?>
<?php endif; ?>Sauriez vous comment je peux réussir à lister dans l’ordre du plus récent au plus loin dans le temps futur, sans afficher les articles passés.
Merci d’avance,
+30 avril 2011 à 15 h 43 min #767410Personne n’a d’idée ou n’a déjà souhaité faire cela ?
En cherchant un peu sur toutes les fonctions existantes, je viens de penser à un truc en utilisant le get archives du mois en cours, en bouclant sur ces articles jusqu’à obtenir le premier qui ne soit pas déjà passé, et ensuite faire une boucle à base de get_next_post pour obtenir mes 6 articles suivants.
Mais bon ça me paraît bien crade, donc si quelqu’un sachant mieux utiliser wordpress a une idée je suis preneur. 🙂
1 mai 2011 à 4 h 03 min #767411je ne connais pas future is now, mais un moyen de renverser l’ordre des post est de mettre juste avant le if (have_posts()).
il existe aussi un status future; la modification pourrait être
je ne sais pas si ça peut aider….1 mai 2011 à 15 h 18 min #767412grosso modo le plugin « futur is now » annule le comportement de base de wordpress qui consiste à donner le statut « futur » à tout article dont la date de publication n’est pas passée. Et à remplacer ce comportement par un autre comportement qui consiste à leur donner le statut « publié » quelque soit la date de publication.
De fait, la problématique de l’ordre d’affichage des articles est la même que si tu voulais changer l’ordre des articles publiés dans un wordpress normal qui n’utiliserait pas le plugin « futur is now ».
Et en l’occurence, dans ce cas « classique », on changerait l’ordre d’apparition des articles en utilisant query_post comme le preconise Guy.En mettant order=ASC tu feras apparaitre les articles dans l’ordre chronologique
en mettant order=DESC tu feras apparaitre les articles dans l’ordre anté-chronologique, c’est-à-dire que, dans ton cas, le 1er article affiché sera celui qui est le plus lointain dans le futur1 mai 2011 à 15 h 54 min #767413Hum, mais donc si je comprends bien, en retirant mon plugin « futur is now », j’aurai mes « évenements » à venir au statut futur, et ensuite en utilisant donc le query_post en filtrant sur le status futur et en order ASC, je devrai obtenir ce que je souhaite ?
1 mai 2011 à 16 h 04 min #767414disons que si vous utilisez le plugin, tous les articles (passés et futurs) auront le même statut(publié)
donc si vous souhaitez les differencier, oui, c’est ça, vous devez desactiver ce plugin et utiliser le query post
attention, toutefois, tous les articles futurs que vous avez créer avec le plugin activé ont un statut « publié » et non « futur ». Ils ne vont donc pas apparaitre. Il faut les remettre en statut « futur »1 mai 2011 à 16 h 37 min #767415oui j’avais ouvert le code php du plugin et j’avais bien compris que c’était au moment de poster que le plugin jouait son rôle. J’ai replanifié certains de mes articles et désactivé le plugin et je ne les vois plus.
Je vais donc tenter maintenant le query_post, je vais voir rapidos sous le codex comment l’utiliser.
1 mai 2011 à 16 h 45 min #767416C’est parfait, merci à vous deux, c’est exactement ce que je voulais pour ma page d’accueil, j’espère pouvoir faire la même chose pour mes autres pages.
Je n’arrive pas à modifier le titre de mon topic pour mettre un tag [résolu]
-
AuteurMessages
- Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.