Bonjour à tous,

je viens chercher de l'aide car j'ai une problematique sur un cas un peut particuliere.
Mon site comprend 5 categories d'article (Accueil, vie asso, chantiers, maraichage, animations)

La categorie accueil est faite pour mettre un article ou plus (max 3) en avant sur la home.
mon soucis est le suivant :
Sur la home je souhaite en priorité afficher les 3 derniers articles de la categorie accueil.
Si il a moins de 3 articles dans cette categorie accueil je souhaite afficher les derniers articles postés toutes categories confondu pour avoir un total de maximum 3 articles visible sur ma home.

Je dois avouer que je suis completement bloqué sur cette problematique.

En vour remerciant

1 réponse


J'ai un peut avancé sur mon probleme.
j'ai suprimé la categorie 'Accueil' et j'utilise l'option 'Mettre ce contenu en avant' disponible sur les articles.

voici mon cote actuel :

// REQUETE ACTU
$sticky = get_option( 'sticky_posts' );
$nbr_sticky = count($sticky);
$nbr_actu = 3 - $nbr_sticky;

$actu_home = array(
    'cat' => '3,4,5,6,7',
    'posts_per_page' => $nbr_actu
);

$actu_home = new WP_Query($actu_home);

$sticky_home = array(
    'post__in'  => get_option( 'sticky_posts' ),
    'posts_per_page' => 3
);

$sticky_home = new WP_Query($sticky_home);

<div class="wrapper-actu">

        <h1 class="text-center">Actualités</h1>

        <?php

        if($sticky_home->have_posts()) : while ($sticky_home->have_posts() ) : $sticky_home->the_post();
            ?>
            <!-- ACTU -->
            <article class="actualite col-xs-12 col-md-4" style="background: red">

                <!-- IMAGE ACTU -->
                <img src="" alt="">

                <!-- INFO ACTU -->
                <div class="infos_actu clearfix">
                    <div class="cat_1_actu"><?php the_category(); ?></div>
                    <h2><?php the_title(); ?></h2>
                    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="pull-right">Lire cette actu</a>
                </div>

            </article>
            <?php
        endwhile;
        endif;
        ?>

        <?php
        if($actu_home->have_posts()) : while ($actu_home->have_posts() ) : $actu_home->the_post();
        ?>
        <!-- ACTU -->
        <article class="actualite col-xs-12 col-md-4">

            <!-- IMAGE ACTU -->
            <img src="" alt="">

            <!-- INFO ACTU -->
            <div class="infos_actu clearfix">
                <div class="cat_1_actu"><?php the_category(); ?></div>
                <h2><?php the_title(); ?></h2>
                <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" class="pull-right">Lire cette actu</a>
            </div>

        </article>
        <?php
        endwhile;
        endif;
        ?>
    </div>

J'ai donc fait deux requete deux while et code bien crade lol comment symplifier tous ca. Autre soucis si j'ai 3 article mise en avant le "Posts_per_page" saute car il est egale a 0

Pareil si le nombre d'article mise en avant = 0 ca pete aussi