Je crée un tableau de comparaison et le problème est dans la boucle While je ne suis pas en mesure de mettre le "tr"
à la bonne place. J'ai besoin d'une mise en page comme ça
<table>
<tr>
<td>post title 1</td>
<td>post title 2</td>
<td>post title 3</td>
</tr>
<tr>
<td>post content 1</td>
<td>post content 2</td>
<td>post content 3</td>
</tr>
<tr>
<td>post author 1</td>
<td>post author 2</td>
<td>post author 3</td>
</tr>
</table>
Comment puis-je réaliser que cela ne semble pas être une option, voir mon code ci-dessous
<div class="acadp">
<table>
<tr>
<?php while( $acadp_query->have_posts() ) : $acadp_query->the_post(); ?>
<td><?php the_title(); ?></td>
<td><?php the_content(); ?></td>
<td><?php the_author(); ?></td>
<?php endwhile; ?>
<tr>
</table>
</div>
<?php wp_reset_postdata(); ?>
<div class="acadp">
<?php
$compare =[];
while( $acadp_query->have_posts() ) {
$acadp_query->the_post(); $post_meta = get_post_meta( $post->ID );
$category = wp_get_object_terms( $post->ID, 'acadp_categories' );
$compare['Title'][] = get_the_title();
$compare['Manufacturer'][] = $category[0]->name;
$compare['Image'][] = get_the_acadp_listing_thumbnail($post_meta);
if( count( $fields ) ){
foreach( $fields as $field ) {
$value = $post_meta[ $field->ID ][0];
$compare[$field->post_title][] = $value;
}
}
$compare['URL'][] = "<a href='".get_the_permalink()."' class='btn btn-primary'>View Details</a>";
}
?>
<table class="table table-bordered">
<?php foreach ($compare as $feature => $value): ?>
<tr>
<th><?php echo $feature; ?></th>
<td><?php echo implode("</td><td>",$value); ?></td>
</tr>
<?php endforeach; ?>
</table>
</div>
<!-- end of the loop -->
<!-- Use reset postdata to restore orginal query -->
<?php wp_reset_postdata(); ?>
Vous avez besoin de 3 boucles séparées. Un pour chaque ligne, chaque poste créant une nouvelle colonne:
<div class="acadp">
<table>
<tr>
<?php while( $acadp_query->have_posts() ) : $acadp_query->the_post(); ?>
<td><?php the_title(); ?></td>
<?php endwhile; ?>
</tr>
<tr>
<?php while( $acadp_query->have_posts() ) : $acadp_query->the_post(); ?>
<td><?php the_content(); ?></td>
<?php endwhile; ?>
</tr>
<tr>
<?php while( $acadp_query->have_posts() ) : $acadp_query->the_post(); ?>
<td><?php the_author(); ?></td>
<?php endwhile; ?>
</tr>
</table>
</div>
<?php wp_reset_postdata(); ?>
Au lieu de faire écho à l'auteur, au titre, etc. pendant la boucle, vous pouvez également les stocker dans des tableaux. Ensuite, après la boucle, vous pouvez afficher chaque tableau sous forme de ligne dans votre table.