web-dev-qa-db-fra.com

Cinq articles d'une catégorie dans le pied de page

J'essaie d'afficher 5 messages d'une catégorie dans le pied de page de mon domicile. J'ai placé ce code

<?php query_posts( 'category_name=entertainment&posts_per_page=5' ); ?>

à droite dans mon fichier home.php et tout fonctionne bien, sauf que plus de 5 messages sont affichés. En fait, il affiche tous les messages de cette catégorie. J'ai aussi essayé showposts=5 mais cela ne fonctionne toujours pas.

c'est le code complet dans mon home.php

    <?php query_posts( 'category_name=entertainment&posts_per_page=5' ); ?>
 <?php
if (__FILE__ == $_SERVER['SCRIPT_FILENAME']) { die(); }
if (CFCT_DEBUG) { cfct_banner(__FILE__); }

if (have_posts()) {
    echo '<ul class="disclosure table group">';
    while (have_posts()) {
        the_post();
?>
    <li>
<?php

        if(has_post_thumbnail())
{ the_post_thumbnail();}    cfct_excerpt();

?>
    </li>
<?php
    }
    echo '<li class="pagination">', cfct_misc('nav-list'),'</li>';
    echo '</ul>';
}

?>    
1
Tarrmie de Man

Premièrement: n'utilisez pas query_posts . Deuxièmement: utilisez $wp_query à la place:

$args = array (
  'category_name' => 'entertainment',
  'posts_per_page'=> 5
  );
$the_query = new WP_Query( $args );

if ( $the_query->have_posts() ) {
    echo '<ul>';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo '<li>' . get_the_title() . '</li>';
    }
    echo '</ul>';
    /* Restore original Post Data */
    wp_reset_postdata();
    }
else {
    // no posts found
    }
1
cjbj

Je vous suggère d'utiliser get_posts() . Avec le code ci-dessous, vous aurez 5 post object-

$args = array (
  'category_name' => 'entertainment',
  'posts_per_page'=> 5
);

$posts = get_posts($args);

Ici, à la variable $posts, vous obtiendrez les 5 articles.

0
CodeMascot