Je crée la page "articles" sur mon site avec WordPress et Bootstrap. Je cherche ça: tous les 3 articles (colonnes), une nouvelle "rangée" sépare tout. Cela ferait une ligne, l'article 1, article 2, article 3, à la fin de la ligne, nouvelle ligne, l'article 4, l'article 5 ...Créer automatiquement des lignes après les colonnes X WordPress
Mon thème est un thème de démarrage pour WordPress: Souligner
Voici mon code pour générer des résumés d'articles (sur le fichier content.php):
Cela fonctionne parfaitement mais le contenu est généré sans fin (boucle infinie).
<div class="row">
<?php $i = 1; while(have_posts()) : the_post();?>
<div class="col-sm-4 blog-resume">
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header>
<a href="<?php echo get_permalink() ?>">
<div class="featured-image-blog" style="background-image: url('<?php echo get_the_post_thumbnail_url() ?>')"></div>
</a>
</header>
<div class="article-resume text-center">
<h2><a href="<?php echo get_permalink() ?>"><?php echo get_the_title() ?></a></h2>
<p class="posted-on">Posté le <?php echo the_date() ?></p>
<p class="resume-article"><?php echo the_content() ?></p>
</div>
</article>
</div>
<?php if ($i % 3 === 0) { echo '</div><div class="row">'; } ?>
<?php $i++; endwhile; wp_reset_query(); ?>
</div>
Je pense qu'il est le fichier index.php où appel content.php ìl, ici le contenu de index.php:
<div class="blog-part">
<div class="container">
<?php
if (have_posts()) :
if (is_home() && ! is_front_page()) : ?>
<header>
<h1 class="text-center"><?php single_post_title(); ?></h1>
</header>
<?php
endif;
/* Start the Loop */
while (have_posts()) : the_post();
/*
* Include the Post-Format-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part('template-parts/content', get_post_format());
endwhile;
the_posts_navigation();
else :
get_template_part('template-parts/content', 'none');
endif; ?>
</div><!-- container -->
</div><!-- blog-part -->
<?php
get_sidebar();
get_footer();
Voici le CSS de .blog-CV
.blog-resume {
margin-bottom: 20px;
margin-top: 20px;
}
.blog-resume > article {
background: #fff;
box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
-webkit-box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);
}
Vous devez utiliser une sorte de système de grille. Jetez un oeil à Bootstrap et CSS Grids. – FluffyKitten
J'ai spécifié dans le message que j'utilise Bootstrap :) – Yann
Eh bien, recherchez la documentation pour l'utiliser :) Avant de poster ici, il est prévu que vous avez étudié votre problème et fait une bonne tentative pour écrire le code vous-même. Toutes les informations dont vous avez besoin se trouvent dans les documents Bootstrap. Essayez-le et si vous êtes bloqué sur quelque chose * spécifique *, revenez et incluez un résumé de ce que vous avez essayé et du code pertinent. Veuillez lire [Combien d'effort de recherche est attendu des utilisateurs de Stack Overflow] (https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users) – FluffyKitten