私は自分のホームフッターにあるカテゴリからの5つの投稿を表示しようとしています。このコードを配置しました
<?php query_posts( 'category_name=entertainment&posts_per_page=5' ); ?>
私のhome.php
ファイルには、5つ以上の投稿が表示されていることを除けば、すべてうまくいきます。実際には、そのカテゴリからのすべての投稿を表示しています。私はshowposts=5
も試しましたが、それでもうまくいきません。
これは私の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>';
}
?>
まず、 query_posts
を使用しないでください。 2番目:代わりに $wp_query
を使用してください。
$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
}
get_posts()
関数を使用することをお勧めします。以下のコードであなたは5ポストオブジェクトを得るでしょう -
$args = array (
'category_name' => 'entertainment',
'posts_per_page'=> 5
);
$posts = get_posts($args);
ここで$posts
変数に5つの投稿があります。