Liste déroulante de sous-catégories avec obligation d’être dans une autre (Créer un compte)

  • WordPress :5.2
  • Statut : non résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #2298398
    K-lol
    Participant
    Initié WordPress
    10 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL :
    • Thème utilisé :
    • Extensions en place :
    • Nom de l’hébergeur :
    • Adresse du site : http://www.mieux-vivre.ch

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

    Bonjour,

    Je me permets de vous écrire car j’ai du mal à trouver la solution.

    Sur cette page : https://www.mieux-vivre.ch/le-theme-la-liberte/exposants-saignelegier-2020/
    vous verrez une liste déroulante qui reprend les sous-catégories de ma catégorie “Exposants” et ça me liste le nombre d’articles dans ces sous-catégories. Mais je souhaite créer cette liste déroulante en prenant que les articles qui sont dans une sous-catégorie de Exposants ET dans une autre catégorie Saignelégier avec son id 59.

    J’ai 3 catégories principales : Exposants (id3), Fribourg (id7), Saignelégier (id59).

    Voilà mon code.

    	<form id="category-select" class="category-select" action="<?php echo esc_url( home_url( '/' ) ); ?>" method="get">
    
    			<?php $args = array(
    			'show_option_all'    => '',
    			'show_option_none'	 => __( 'Chercher par catégorie' ),
    			'option_none_value'  => '-1',
    			'orderby'            => 'ID',
    			'order'              => 'ASC',
    			'show_count'         => 1,
    			'hide_empty'         => 1,
    			'child_of'           => 3,
    			'exclude'            => '',
                'cat' 				 => '59, -7',
    			'include'            => '',
    			'echo'               => 0,
    			'selected'           => 0,
    			'hierarchical'       => 0,
    			'name'               => 'cat',
    			'id'                 => '',
    			'class'              => 'postform',
    			'depth'              => 0,
    			'tab_index'          => 0,
    			'taxonomy'           => 'category',
    			'hide_if_empty'      => false,
    		
    
    		); ?>
    
    
    		<?php $selects  = wp_dropdown_categories( $args ); ?>
    		<?php $replace = "<select$1 onchange='return this.form.submit()'>"; ?>
    		<?php $select  = preg_replace( '#<select([^>]*)>#', $replace, $selects ); ?>
    
    		<?php echo $select; ?>

    Sur une page j’aimerais une liste déroulante des sous-catégories de Exposants + Fribourg et l’autre Exposants + Saignelégier

    J’ai essayé de mettre mon id ou le slug dans Include, là vous verrez que j’ai mis une ligne “cat” => “59, -7”, mais ça ne joue pas non plus.

    En fait je ne sais pas si le problème se trouve dans mes arguments ou ailleurs (la contruction de mes catégories par exemple)

    Si vous avez une piste que je pourrais explorer, ça serait avec plaisir.

    Merci d’avance
    Bon week end

    #2298503
    momofr@free.fr
    Modérateur
    Maître WordPress
    2992 contributions

    Salut, difficile de comprendre ta disposition des catégories. J’ai l’impression que les villes devraient être des sous-catégories d’Exposants non ?

    Quels sont les types de contenus qui sont au final entrés dans ton site ?

    #2298727
    K-lol
    Participant
    Initié WordPress
    10 contributions

    Bonjour,

    Merci pour ta réponse.

    En fait ce sont des articles dans lesquels j’ai des champs ACF pour ajouter une adresse, n° de téléphone, domaine d’activité, sites Internet.

    Et comme ce salon se passe sur 2 lieux, les exposants peuvent être à un endroit ou au deux.

    Pour ta piste, est ce qu’on peut dire, child_of catégorie 3 et donner encore une information sur la catégorie du lieux?

    Je ne suis pas certaine d’être claire, donc n’hésite pas si tu as des questions.

    Merci beaucoup
    Bonne journée

     

    #2298962
    K-lol
    Participant
    Initié WordPress
    10 contributions

    Je me permets de laisser un petit complément:

    Dans mon dropdown j’aimerais lister les enfants de ma catégorie 3 (ça ça fonctionne avec child_of => 3)

    Mais le nombre par catégorie ne joue pas parce que pour ce dropdown, mes articles sont dans ma catégorie 3 ET doivent être dans mes catégories 59 (lieux) et 58 (année).

    J’ai essayé avec

    $args = array(
    'category__and'  => array (59, 58),
    );

    même chose avec

    'tax_query' => array(
            'relation' => 'AND',
            array(
                'taxonomy' => 'category',
                'field'    => 'slug',
                'terms'    => array( 'saignelegier-2' ),
            ),
            array(
                'taxonomy' => 'category',
                'field'    => 'slug',
                'terms'    => array( '2020' ),
            ),
        ),

    Si ca parle à quelqu’un ou une autre piste, je suis preneuse ^_^

    Bonne soirée

     

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