Exploser les catégories (Créer un compte)

  • Statut : non résolu
13 sujets de 1 à 13 (sur un total de 13)
  • Auteur
    Messages
  • #465139
    lepski98
    Membre
    Chevalier WordPress
    193 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress :
    – Thème utilisé :
    – Plugins en place :
    – Nom de l’hebergeur :
    – Adresse du site :

    Problème(s) rencontré(s) :

    Rebonsoir à tous,

    J’ai de nouveau un problème, mais cette fois celui ci me parait bien insurmontable sur la faisabilité.

    Je veux absolument garder le système de catégorie pour avoir dans la sidebar la possibilité de naviguer dans les différents univers….

    J’ai une liste sur la page index en mode tableau comprenant :

    TITRE | DATE | CATEGORIES
    toto fait du vélo | 4 decembre 2008 | lorraine, alsace, informatique
    tutu fait du vélo | 4 decembre 2008 | lorraine, informatique
    tata fait du vélo | 4 decembre 2008 | corse, automobile

    rien de bien extraordinaire… mais ce que je veux faire c’est exploser la catégorie (fonction : ) du post et les rangées dans les colonnes (OUI je suis fou…. je sais…)…

    donc cela donnerais ceci

    TITRE | DATE | REGION | RUBRIQUES
    toto fait du vélo | 4 decembre 2008 | lorraine, alsace | informatique
    tutu fait du vélo | 4 decembre 2008 | lorraine | informatique
    tata fait du vélo | 4 decembre 2008 | corse | automobile

    en faites j’ai 2 catégories

    REGION (Parent)
    –lorraine
    –corse
    –alsace…..

    RUBRIQUE(Parent)
    –sante
    –informatique
    –automobile…..

    Alors comment faire ? et surtout est-ce possible ????????

    #653007
    jaiunblog
    Participant
    Padawan WordPress
    64 contributions

    une piste via ça :
    http://codex.wordpress.org/fr:Marqueurs_de_Modele/get_category_parents
    sinon plus simple 2 catégories et les régions en tags !

    #653008
    lepski98
    Membre
    Chevalier WordPress
    193 contributions

    j’avais pensé à ceci mais comment ajouter que la region (ID#13) affiche les enfants…
    Sinon je reserve les tags pour d’autres trucs, il faut absolument que j’utilise les catégories.

    <?php
    foreach((get_the_category()) as $category) {
    echo $category->cat_name . ‘ ‘;
    }
    ?>

    #653009
    Lumiere de Lune
    Participant
    Maître WordPress
    19745 contributions

    En fait
    1- tu fais une variable pour les catégories régions, une variable pour les catégories rubriques
    2- pour chaque catégorie, tu testes si la catégorie parente est région ou rubrique, et selon les cas tu affectes à la variable
    3- tu fais l’écho sur ta ligne de tableau

    #653010
    lepski98
    Membre
    Chevalier WordPress
    193 contributions

    Merci mais tu as un exemple… parce que la… je vois pas…

    #653011
    Lumiere de Lune
    Participant
    Maître WordPress
    19745 contributions

    Non, il faut coder le php 🙂
    (get_the_categories() te donne un tableau que tu n’as ensuite qu’à parcourir)

    #653012
    lepski98
    Membre
    Chevalier WordPress
    193 contributions

    Bon j’ai trouvé…. YOUPI…….🍺

    if(!function_exists(‘display_sub_cats’)) {
             function display_sub_cats($parent_cat) {
                $cats = get_categories(array( ‘child_of’ => $parent_cat,
                                              ‘orderby’ => ‘name’ ) );
                if(!empty($cats)) {
                    foreach($cats as $cat) {
                        if(in_category($cat->term_id)) {
                            echo $cat->cat_name . ‘, ‘;
                        }
                    }
                }
             }
          }

    et afficher avec

    par contre il m’affiche une virgule à la fin de la chaine et ce n’est pas très esthétique…. Putain j’en suis à faire de l’esthétique…. LOL

    donc ma chaine

    ALSACE, CORSE,

    comment afficher en PHP ceci

    ALSACE, CORSE

    j’ai essayé ceci mais cela ne marche pas

    #653013
    jessai
    Membre
    Chevalier WordPress
    112 contributions

    euh je crois que c’es toi qui a mis une virgule :

    echo $cat->cat_name . ‘, ‘;

    #653014
    lepski98
    Membre
    Chevalier WordPress
    193 contributions

    Oui mais le truc c’est que lorsqu’il y a une catégorie il affiche ceci

    ALSACE,

    Normalement il ne devrait pas y avoir de virgule a la fin d’Alsace vu qu’il n’y a qu’une categorie

    et lorsqu’il y en a deux

    ALSACE, CORSE,

    Même problème, je ne sais pas comment retirer cette dernière virgule… il faudrait pouvoir compter les catégories à afficher mais je ne sais pas comment faire.

    Merci de votre aide….

    #653015
    Qwindoo
    Modérateur
    Maître WordPress
    2862 contributions

    Salut, essaie peut-être ceci :

    if (!function_exists(‘display_sub_cats’))
    {
    	function display_sub_cats($parent_cat)
    	{
    		$cats = get_categories(array(‘child_of’ => $parent_cat, ‘orderby’ => ‘name’));
    		if (!empty($cats))
    		{
    			$nb_cats = count($cats);
    			for ($current=0; $currentterm_id))
    					echo $cat->cat_name,(($current != $nb_cats-1) ? ‘, ‘ : ”);
    			}
    		}
    	}
    }

    (“peut-être” parce que je ne me souviens plus quelle est l’allure du retour de [c]get_categories[/c] (tableau d’objets ?))

    Cordialement,
    Thomas

    #653006
    lepski98
    Membre
    Chevalier WordPress
    193 contributions

    Merci MSDOS cela marche presque…

    Mais il y à encore des problèmes….. je ne vois pas….

    ALSACE = cat=14
    CORSE = cat=15
    LORRAINE = cat=16

    On dirait qu’il se base sur l’ordre des catégories… voir après Lorraine qui est la dernière catégorie du parent il enlève la virgule….

    LIGNE 1 = Lorraine

    LIGNE 2 = Alsace,

    LIGNE 3 = Corse, Lorraine

    LIGNE 4 = Lorraine

    bizarre le comportement…

    #653016
    lepski98
    Membre
    Chevalier WordPress
    193 contributions

    personne n’a une idée…. sur ce problème de virgule…. ???

    #653017
    lepski98
    Membre
    Chevalier WordPress
    193 contributions

    toujours personne… ???

13 sujets de 1 à 13 (sur un total de 13)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.