it-swarm.dev

Cinque post di una categoria in piè di pagina

Sto cercando di mostrare 5 post di una categoria nel mio home footer. Ho inserito questo codice

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

proprio nel mio file home.php e tutto funziona bene, tranne che più di 5 messaggi stanno mostrando. In effetti sta mostrando tutti i post di quella categoria. Ho anche provato showposts=5 ma ancora non funziona.

questo è il codice completo nel mio 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

Primo: non usare query_posts . Secondo: usa $wp_query invece:

$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

Ti suggerirei di usare la funzione get_posts() . Con il codice seguente riceverai 5 oggetti post-

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

$posts = get_posts($args);

Qui alla variabile $posts otterrai i 5 post.

0
CodeMascot