Ordre des posts selon la catégorie (affichage chronologique) (Créer un compte)

  • Statut : non résolu
14 sujets de 1 à 14 (sur un total de 14)
  • Auteur
    Messages
  • #446515
    MilleSabords
    Membre
    Initié WordPress
    20 contributions

    Bonjour,
    j’ai démarré un site sous WP.
    Voilà ce que je voudrais faire : Globalement pour le site, les posts sont affichés les plus récents en haut de page (ordre anti-chronologique) , ordre normal sur les blogs, mais pour une catégorie mère et toutes ses sous catégories (dont les futures a venir), les posts s’affichent dans l’ordre chronologie
    Je sais que c’est une histoire de order=asc
    dans le query_posts
    , sauf que je ne sais pas comment le faire pour une arborescence de catégories seulement. Si je créé un fichier category-X.php, ca ne prend pas les catégories filles.

    Merci d’avance pour votre aide.

    Si vou svoulez voir ce que ca donne c’est pas là http://www.millesabords.net, mais c’est pas encore fini.

    #566221
    damino
    Participant
    Maître WordPress
    1243 contributions

    Et bien Mille Sabords ce sujet m’interrese grandement. Je suis en train de chercher de mon côté. Le premier qui as la solution laisse un post explicatif ici !
    Et c’est bien une histoire de ASC DESC il me semble mais moi aussi les requêtes MySQL c’est pas mon domaine.

    #566222
    damino
    Participant
    Maître WordPress
    1243 contributions

    Une piste j’ai remarqué que si tu ajoute ?order=asc au niveau de ta page d’index : par exemple ‘htt://www.monsite/?order=asc’ ta page d’index s’affiche en ordre chronologique …

    Quelqu’un peut-il nous éclairer de ses lumières ?

    #566223
    damino
    Participant
    Maître WordPress
    1243 contributions

    En fait pour que cela fontcionne dans une catégorie, il faut ajouter &order=asc à la fin de l’url.

    Mais même question : comment inclure cela dans le code php de manière à ce que le clic pour afficher telle ou telle catégorie nous ajoute ce fameux ASC pour tout afficher en ordre chronoloqiue ?

    #566224
    viviane
    Membre
    Initié WordPress
    18 contributions

    Une solution simple c’est de mettre la main au code : dans sidebar.php :

    catégorie 1

    catégorie 2

    … …

    #566225
    damino
    Participant
    Maître WordPress
    1243 contributions

    Ben oui je suis d’accord c’est la solution simple. Le problème c’est que chaque mois je doit ajouter du code HTML “en dur” dans ma sidebar.
    Alors que le code php permet bien de créer tout seul une nouvelle archive chaque mois.

    Est-ce que c’est clair ? (des fois j’suis un peu “brouillon”).

    D’où ma question sur la modification du code php pour gérer cela (à moi que cela nje se passe directement dans SQL … j’suis vraiment une bille !)

    Le php s’impose !

    #566226
    viviane
    Membre
    Initié WordPress
    18 contributions

    Ca y est j’ai trouvé (sur le support WordPress.org) :

    Il faut ajouter ce code dans wp-includes/classes.php à la ligne 462 :

    // Ascending hack for categories
    if ($whichcat)
    {
    $q = ‘ASC’;
    }

    J’ai testé et ça marche!

    #566227
    damino
    Participant
    Maître WordPress
    1243 contributions

    J’avais aussi cherché dans le forum de WordPress.org sans succès (t’as du voir mes messages d’ailleurs). Donc bravo pour la recherche …
    Eclaire ma lanterne : pour que ce soit une catégorie en particulier, faut-il remplacer $whichcat par le numéro de la catégorie ?

    #566228
    damino
    Participant
    Maître WordPress
    1243 contributions

    Salut j’ai aussi trouvé ça si l’on veut afficher la catégorie n°X en ordre chronologique

    if (‘X’ == $q[‘cat’]) {
    $q[‘order’]=’ASC’;
    }

    Il faut inclure ce code dans le wp-includes/classes.php après la ligne 468 c-a-d juste après le code :

    $where .= $search.$whichcat.$whichauthor;
    
    		if ((empty($q[‘order’])) || ((strtoupper($q[‘order’]) != ‘ASC’) && (strtoupper($q[‘order’]) != ‘DESC’))) {
    			$q[‘order’]=’DESC’;
    		}

    On peut ajouter plusieurs catégories en incluant les autres numéros séparés d’une virgule.

    #566229
    viviane
    Membre
    Initié WordPress
    18 contributions

    Pour le $whichcat, je ne sais pas trop… j’ai fait plusieurs tests mais pas trop concluants…

    Sinon, j’ai trouvé quelque chose de similaire au tien :

    if(‘X’ == $_GET[‘cat’])
    {
    $q[‘order’] = ‘ASC’;
    }

    #566230
    damino
    Participant
    Maître WordPress
    1243 contributions

    Pour infos, la modification du fichier classes semble avoir provoqué un petit problème … je tente donc d’élucider cela.

    #566231
    morange2009
    Membre
    Initié WordPress
    9 contributions
    Damino wrote:
    Pour infos, la modification du fichier classes semble avoir provoqué un petit problème … je tente donc d’élucider cela.

    Je serais curieuse d’avoir le fin mot de l’histoire…
    Par ailleurs, je n’arrive pas à identifier le bon endroit dans mon code classes. Je n’ai pas le texte que tu m’as indiqué. Je crois qu’il faut le mettre juste avant le loop. Mais je ne sais pas où ça commence dans mon code.

    #566232
    Halleri
    Participant
    Initié WordPress
    36 contributions

    Moi aussi je vourais tester ce code mais le post est trop vieux et le code de classes.php a semble t’il changé depuis…
    où faut il mettre le

    // Ascending hack for categories
    if ($whichcat)
    {
    $q = ‘ASC’;
    }

    pour voir si cette soluce est encore d’actualité pour afficher le contenu des catégories du plus vieil article en premier jusqu’au récents ?

    Merci

    #566233
    calamityjess13
    Participant
    Initié WordPress
    14 contributions

    Admettons que j’ai lu et relu… et que j’ai à peine trouvé ça moins clair en le lisant à l’envers, auriez-vous une solution pour une mésadaptée chronique du système informatique ??
    Le fameux à rajouter, dans le php-quelque chose… C’est où tout ça ??? :boulet:
    Merci d’avance…
    Jess

14 sujets de 1 à 14 (sur un total de 14)
  • Vous devez être connecté pour répondre à ce sujet.