J'espère que c'est juste que mes yeux fatigués manquent quelque chose et qu'une nouvelle paire de globes oculaires pourrait attraper ce qui me manque.
J'ai une taxonomie personnalisée avec un slug de 'residential_project_types' qui est affecté à un type de message personnalisé de residential_projects. Je souhaite afficher tous les termes de la taxonomie, en indiquant le nom et le lien.
Son genre de travail ...
Au lieu d'afficher un seul terme pour chacun, il semble afficher un terme pour chaque message inclus dans le terme. Ceci bien sûr crée des doublons. De plus, le code HTML ne s’affiche pas correctement, ce qui entraîne un chevauchement étrange des éléments.
Mon intuition est que quelque chose est brouillé avec la boucle ...? Je n'ai pas été capable de le comprendre cependant. Toute aide est très appréciée!
Voici un lien vers la page cassée/buggy: http://desarch.robertrhu.net/residential/
Voici le code que j'ai écrit:
<?php
$terms = get_terms( array(
'taxonomy' => 'residential_project_types',
'orderby' => 'count',
'hide_empty' => false,
'fields' => 'all'
) );
?>
<?php
foreach( $terms as $term ) {
$args = array(
'post_type' => 'residential_projects',
'residential_project_types' => $term->slug
);
$term_link = get_term_link( $term );
$query = new WP_Query( $args );
if ( $query->have_posts() ) :
/* Start the Loop */
while ( $query->have_posts() ) : $query->the_post(); ?>
<a class="property-thumb-link"
href="<?php echo $term_link; ?>">
<div class="property-thumb column medium-6 small-12">
<img src="<?php the_field('category_image', $term); ?>"
alt="<?php the_field ('category_image_alt', $term); ?>" />
<div class="property-thumb-title">
<h2>
<?php echo $term->name; ?>
</h2>
</div>
</div>
</a>
<?php wp_reset_postdata();
endwhile;
endif; }?>
comme mentionné par @mmm, vous passez en boucle sur les termes et dans chaque terme, vous passez sur chaque projet - mais je pense que c'est ce que vous vouliez faire:
$terms = get_terms( array(
'taxonomy' => 'residential_project_types',
'orderby' => 'count',
'hide_empty' => true
) );
foreach( $terms as $term ) :
?>
<a class="property-thumb-link"
href="<?php echo get_term_link( $term ); ?>">
<div class="property-thumb column medium-6 small-12">
<img src="<?php the_field('category_image', $term); ?>"
alt="<?php the_field ('category_image_alt', $term); ?>" />
<div class="property-thumb-title">
<h2>
<?php echo $term->name; ?>
</h2>
</div>
</div>
</a>
<?php
endforeach;