Postes personnalisés dans différentes colonnes Style
Question
J'essaie de produire un type de type personnalisé avec un travail collant / présenté dans un Col-8 (Thumbnail) et Col-4 (contenu), les autres postes doivent alors être dans COL-4.Jusqu'à présent, j'ai essayé le code ci-dessous, mais que seuls les publications que si je répète le code et contiennent la sortie dans Col-4 sa réalisable, mais je ne pense pas que ce soit la meilleure pratique de le faire.
<?php
$loop = new WP_Query( array( 'post_type' => 'recentproject', 'orderby' => 'rand', 'posts_per_page' => '1') );
?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="col-8 columns">
<?php edit_post_link(); // Always handy to have Edit Post Links available ?>
<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
<?php echo get_the_post_thumbnail(); ?>
<?php endif; ?>
</div>
<div class="col-4 columns">
<h4 class="project_title"><?php the_title(); ?></h2>
<?php echo the_content(); ?>
</div>
<?php endwhile; ?>
<div class="clear"></div>
<div class="row">
<?php
$loop = new WP_Query( array( 'post_type' => 'recentproject', 'orderby' => 'rand', 'posts_per_page' => '3') );
?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="col-4 columns">
<h4 class="project_title"><?php the_title(); ?></h4>
<?php edit_post_link(); // Always handy to have Edit Post Links available ?>
<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
<?php echo get_the_post_thumbnail(); ?>
<?php endif; ?>
<?php echo the_content(); ?>
</div>
<?php endwhile; ?>
</div>
Pour expliquer ce que j'ai l'intention de voir l'image ci-dessous.
La solution
Vous devez utiliser décalage paramater dans WP_Query E.g.
<?php
$loop = new WP_Query( array( 'post_type' => 'recentproject', 'orderby' => 'rand', 'posts_per_page' => '1') );
$counter=0;
?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); $counter++; ?>
<div class="col-8 columns">
<?php edit_post_link(); // Always handy to have Edit Post Links available ?>
<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
<?php echo get_the_post_thumbnail(); ?>
<?php endif; ?>
</div>
<div class="col-4 columns">
<h4 class="project_title"><?php the_title(); ?></h2>
<?php echo the_content(); ?>
</div>
<?php endwhile; ?>
<div class="clear"></div>
<div class="row">
<?php
$loop = new WP_Query( array( 'post_type' => 'recentproject', 'orderby' => 'rand', 'posts_per_page' => '3', 'offset' => '1' ) );
?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="col-4 columns">
<h4 class="project_title"><?php the_title(); ?></h4>
<?php edit_post_link(); // Always handy to have Edit Post Links available ?>
<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
<?php echo get_the_post_thumbnail(); ?>
<?php endif; ?>
<?php echo the_content(); ?>
</div>
<?php endwhile; ?>
</div>
Fondamentalement, il ignore les premiers poteaux XX de la requête, de sorte que vous utilisiez offset=> 1 si vous souhaitez ignorer le premier message dans votre requête
Je ne pense pas que cela fonctionnera avec la commande "rand", est-ce que le rand est une nécessité?
EDIT: Utilisation de Compt & 1 Query
<?php
$loop = new WP_Query( array( 'post_type' => 'recentproject', 'orderby' => 'rand', 'posts_per_page' => '4') );
$count = 1;
while ( $loop->have_posts() ) : $loop->the_post();
if($count == '1') { ?>
<div class="col-8 columns">
<?php edit_post_link(); // Always handy to have Edit Post Links available ?>
<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
<?php echo get_the_post_thumbnail(); ?>
<?php endif; ?>
</div>
<div class="col-4 columns">
<h4 class="project_title"><?php the_title(); ?></h4>
<?php echo the_content(); ?>
</div>
<?php } else { ?>
<div class="col-4 columns">
<h4 class="project_title"><?php the_title(); ?></h4>
<?php edit_post_link(); // Always handy to have Edit Post Links available ?>
<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
<?php echo get_the_post_thumbnail(); ?>
<?php endif; ?>
<?php echo the_content(); ?>
</div>
<?php
}
$count++;
endwhile;
wp_reset_postdata();
?>
Non testé mais devrait fonctionner, fondamentalement, il compte les postes et modifie le code HTML en fonction du numéro de comptage