[Résolu] Afficher un CPT dans un carousel (Créer un compte)

  • WordPress :5.2
  • Statut : résolu
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #2283054
    barale61
    Participant
    Padawan WordPress
    53 contributions

    Bonjour,

    Ma configuration WP actuelle 5.2.4

    • Version de PHP/MySQL :
    • Thème utilisé : Perso
    • Extensions en place : Aucune
    • Nom de l’hébergeur :  localhost
    • Adresse du site :

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

    Bonojur,

     

    J’essai de faire un carousel dynamique avec CPT mon CPT fonctionne bien et j’ai ajouté quelques items mais je n’arrive pas à l’afficher je m’y prends de cette façon:

    <section id="carousel">
    	<div class="row mb-2"><!-- ROW -->
    		<div class="col-md-12">
    			<h3 class="mb-3">Mes sites préférés</h3>
    		</div>
    	</div><!-- ROW -->
    
    	<div class="row mb-5">
    		<!-- CAROUSEL BOOTSTRAP -->
    		<?php
    		$args = array(
    			'post_type' => 'carousel',
    			'post_status'=>'publish',
    			'category_name' => 'realisations',
    			'posts_per_page'=>-1
    		);
    		$the_query = new WP_Query ( $args ); 
    		?>
    
    		<div class="col-lg-12 colCarousel">
    			<div id="ExampleCarouselID" class="carousel slide shadow" data-ride="carousel" data-interval="7000">
    				<a class="carousel-control-prev" href="#ExampleCarouselID" role="button" data-slide="prev">
    					<span class="arrowCarousel ti-angle-double-left" aria-hidden="true"></span>
    					<span class="sr-only">Previous</span>
    				</a>
    				<a class="carousel-control-next" href="#ExampleCarouselID" role="button" data-slide="next">
    					<span class="arrowCarousel ti-angle-double-right" aria-hidden="true"></span>
    					<span class="sr-only">Next</span>
    				</a>
    				<?php rewind_posts(); ?>
    				<div class="carousel-inner"> 
    					<?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();
    						$thumbnail_id   = get_post_thumbnail_id();
    						$thumbnail_meta = get_post_meta( $thumbnail_id, '_wp_attatchment_image_alt', true );
    						?>
    						<div class="carousel-item <?php if ($the_query->current_post == 0) : ?> active"<?php endif; ?>>
    							<?php if (has_post_thumbnail()) : ?>
    								<a href="" title="<?php the_title_attribute(); ?>">
    									<?php the_post_thumbnail('taille-carousel', array('class' => 'img-fluid')); ?><!-- Dans functions.php -->
    								</a>
    							<?php endif; ?>
    							<div class="carousel-caption align-middle">
    								<h3><?php the_title();?></h3>
    								<a class="btnCarousel" href="<?php echo get_post_meta( get_the_ID(), 'url', true ); ?>" target="_blank" rel="noopener noreferrer"><span>Visitez le site <i class="icofont-arrow-right"></i></span></a>
    							</div>
    						</div><!-- /.carousel-item -->
    						<!-- end second loop -->
    					<?php endwhile;	endif; ?>
    				</div><!-- /.carousel-inner -->
    			</div><!-- /.carousel-slide -->
    		</div><!-- COL -->
    	</div><!-- ROW -->
    </section>

    Je vous remercie de votre aide.

    #2283384
    barale61
    Participant
    Padawan WordPress
    53 contributions

    Je précise que si je ne demande pas la catégorie ça marche bien  donc de cette façon:

    <?php
    $args = array(
    			'post_type' => 'carousel',
    			'post_status'=>'publish',
    			// 'category_name' => 'realisations',
    			'posts_per_page'=>-1
    		);
    		$the_query = new WP_Query ( $args ); 
    ?>

    Mais comme je souhaite avoir plusieurs catégories et n’en n’afficher que certaines par moment, c’est pas terrible.

    Je vous remercie de votre aide

    • Cette réponse a été modifiée le il y a 8 mois et 1 semaine par barale61.
    • Cette réponse a été modifiée le il y a 8 mois et 1 semaine par barale61.
    #2283390
    Li-An
    Modérateur
    Maître WordPress
    23955 contributions

    Bonjour, ça ne serait pas plutôt

     

    'taxonomy' => 'realisations',

    Si c’est un CPT, je suppose que vous n’utilisez pas les catégories par défaut.

     

     

    #2283511
    barale61
    Participant
    Padawan WordPress
    53 contributions

    Merci j’ai trouvé:

    		<?php
    		$args = array(
    			'post_type' 		=> 'carousel',
    			'post_status'		=> 'publish',
    			'taxonomy' 			=> 'categories',
    			'posts_per_page'	=>-1,
    			'tax_query' => array (
    				array (
    					'taxonomy' => 'categories',
    					'field' => 'slug',
    					'terms' =>array ('realisations')
    				)
    			)
    		);
    
    		$the_query = new WP_Query ( $args ); 
    		?>

    #2283518
    Li-An
    Modérateur
    Maître WordPress
    23955 contributions

    Ah merci. Un peu étonnant que vous soyez obligé d’aller aussi loin pour récupérer la taxonomie mais si ça marche (et je vais tester sur un de mes codes qui coince :-)).

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