Bonjour à tous,
je n'arrive pas a gérer l'affichage d'articles dans un blog wordpress, j'ai essayé plusieurs chose mais ca ne marche pas, le site est celui ci http://www.greenetvert.fr/ et je voudrais que dans le bloc ou il y a tous les pays au milieu de la page il n'affiche que 6 articles et non pas une trentaine comme aujourd'hui ce n'est pas très joli. Voici le code de ce bloc
<?php

// Get all the posts related to a taxonomy
$continents = gv_get_taxonomy_related_posts( 'region' );

// Check not empty continents
if( !empty( $continents ) ):
?>
<div class="international-block">
	<div class="tabs">
		<ul class="items-tabs">
			<?php 
			foreach( $continents as $continent ):
				if( !isset( $continent->posts ) ) {
					continue;
				} 
			?>
			<li> <a href="#<?php echo $continent->slug; ?>"><?php echo $continent->name; ?></a> </li>
			<?php 
			endforeach; 
			?>
		</ul>
		<div class="items-container">
			<?php 
			foreach( $continents as $continent ): 
				if( !isset( $continent->posts ) ) {
					continue;
				}
			?>
			<div class="tab-holder" id='<?php echo $continent->slug; ?>'>
				<dl>
					<dt>Régions</dt>
					<dd><?php echo $continent->name; ?></dd>
				</dl>
				<?php
				$loop_cont = 0;
				while( $continent->posts->have_posts() ): $continent->posts->the_post(); ?>
					<?php if( $loop_cont == 0 ): ?>
						<div class="top-news">
							<article class="entry">
								<a href="<?php the_permalink(); ?>">
									<?php the_post_thumbnail(  'img-list-middle' ); ?>
									<?php gv_the_post_country( null, '<span class="country">', '</span>' ) ?>
									<h3 class="entry-title"><?php the_title(); ?></h3>
									<?php 
										do_action( 'gv_before_excerpt', 'continents' );
										the_excerpt(); 
										do_action( 'gv_after_excerpt', 'continents' );
									?>
								</a>
							</article>
						</div>
					<?php else: ?>
						<?php if( $loop_cont == 1 ): ?>
						<div class="other-news">
						<?php endif; ?>
							<article class="entry">
								<a href="<?php the_permalink(); ?>">
									<?php gv_the_post_country( null, '<span class="country">', '</span>' ) ?>
									<h4 class="entry-title"><?php the_title(); ?> <span class="readmore"><?php _e( 'Read more', 'gv' ) ?></span></h4>
								</a>
							</article>
						<?php if( $loop_cont == $continent->posts->post_count-1 ): ?>
						</div>
						<?php endif; ?>
					<?php endif; ?>
				<?php
				$loop_cont++; 
				endwhile;
				wp_reset_query();
				?>
			</div>
			<?php 
			endforeach; 
			?>
		</div>
	</div>
</div>
<?php do_action( 'gv_after_continent_block' ); ?>
<?php endif; ?>


Est-ce que quelqu'un aurait une idée ?
Merci beaucoup
Modérateur
Après ce code :
<?php
  $loop_cont = 0;
  while( $continent->posts->have_posts() ): $continent->posts->the_post();
?>

Il faut sortir de la boucle while après 6 itérations. Juste après ce code, il faut donc ajouter le test suivant :
if ($loop_cont == 6) break;
Salut,

Jojaba a tout à fait raison, tu peux sinon modifier la condition '$loop_cont == 6' en '$loop_cont < 6 et la placer au sein même de la condition de la boucle while comme ça :
<?php
  $loop_cont = 0;
  while( $continent->posts->have_posts() && $loop_cont < 6 ): $continent->posts->the_post();
?>

Ça évite d'ajouter un 'break;'
Modifié par MatthieuR (31 May 2015 - 22:06)
Bonjour,
merci à tous les deux j'ai effectivement essayé ce que vous m'avez indiqué, cela fonctionne sur le bloc continent en lui-même mais que sur la première région affichée (Afrique), quand on clique sur les autres régions c'est vide. Et cela supprime tous les articles qui étaient présents en dessous du bloc. :S
http://www.greenetvert.fr/
Modérateur
Pas sûr de moi à 100% (et surtout pas trop de temps) mais il faut réinitialiser le $loop_cont il me semble. Donc :
if ($loop_cont == 6)  {
  $loop_cont = 0;
  break;
}
Bonjour, j'ai essayé votre dernière solution mais cela fait disparaitre complètement le bloc continent ainsi que la side bar