[Résolu] Galerie filtrable avec ACF (Créer un compte)

  • WordPress :5.5
  • Statut : résolu
3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #2366483
    Tristissya
    Participant
    Initié WordPress
    2 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.3
    • Thème utilisé : OceanWP
    • Extensions en place : ACF
    • Nom de l’hébergeur : phpnet

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

    Bonjour,

    Ca fait quelques jours que je n’arrive pas à résoudre mon soucis. J’utilise ACF pour faire une galerie filtrable via des catégories dans une taxonomie. Les filtres marchent super bien, aucun soucis mais mes catégories sont en doubles et je n’arrive pas à trouver le moyen qu’elles ne le soit plus.
    Voici le code :

    <div id="filters" class="col-3">
    	<ul class="nav flex-column">
    		<li data-filter="all" class="filter active">Tous les projets</li>
    		<?php
    		// 1. On définit les argument pour définir ce que l'on souhaite récupérer
    		$args = array (
    			'post_type' => 'projet'
    		);
    		// 2. On execute la WP query
    		$my_query = new WP_Query( $args );
    		// 3. On lance la boucle
    		if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post();
    
    		get_template_part('parts/categories');
    
    		endwhile; endif;
    		// 4. On réinitialise la requete principale
    		wp_reset_postdata();
    		?>
    	</ul>
    </div>

    le fichier parts/categories :

    <?php $categorie_du_projet = get_field( 'categorie_du_projet' ); ?> 
    <?php if ( $categorie_du_projet ) : ?> 
    	<?php foreach ( $categorie_du_projet as $term ) : ?> 
    		<li data-filter="<?= esc_html( $term->slug ); ?>" class="filter"><?= esc_html( $term->name ); ?></li> 
    	<?php endforeach; ?> 
    <?php endif; ?>

    Je pense que filtrer via l’id ($term->term_id) est le mieux mais je ne sais pas comment faire…
    résultat du var_dump($term->term_id) en image

    • Ce sujet a été modifié le il y a 1 mois et 2 semaines par Tristissya.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2366500
    mathieu42
    Participant
    Chevalier WordPress
    427 contributions

    il vaut mieux utiliser le système de catégories de wordpress au lieu d’ACF, vous n’auriez pas eu besoin de faire tous cela.

    sinon essayez cela :

    <?php
    $categorie_du_projet = get_field( 'categorie_du_projet' );
    $categories_deja_affichees = [];
    ?>
    <?php if ( $categorie_du_projet ) : ?> 
    	<?php foreach ( $categorie_du_projet as $term ) : ?> 
    		
    		<?php
    			if (isset($categories_deja_affichees[$term->term_id])) {
    				continue;
    			} else {
    				$categories_deja_affichees[$term->term_id] = TRUE;
    			}
    		?>
    		
    		<li data-filter="<?= esc_html( $term->slug ); ?>" class="filter"><?= esc_html( $term->name ); ?></li> 
    	<?php endforeach; ?> 
    <?php endif; ?>

    #2366516
    Tristissya
    Participant
    Initié WordPress
    2 contributions

    Merci pour le bout de code malheureusement ça m’affiche toujours la catégorie en double.
    J’utilise ACF afin de créer une galerie de projets filtrable avec aperçu via une modal en plus de la page article. Il était nécessaire de séparer les deux et c’est la seule solution que je connaisse :/

    • Cette réponse a été modifiée le il y a 1 mois et 2 semaines par Tristissya.
3 sujets de 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.