私のワードプレスのテーマでは、フッターにサイドループを追加して最新の投稿を取得したいと考えています。このループの最初の投稿では、サムネイル、タイトル、投稿のプレビューが表示されます。次の 5 つの投稿では、タイトル/リンクのみが表示されます。
メイン div で既にレギュラー<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
を使用しているため、get_posts() に基づくサイド ループを使用する必要があります。
これは私が取得したいものですが、機能していません:
<?php query_posts('cat=6&showposts=5'); ?>
<?php $posts = get_posts('category=6&numberposts=5');
$count = count($posts);
foreach ($posts as $post) : start_wp(); ?>
<?php if ($count < 2) : ?>
/// code for the 1st post (thumb etc..)
<?php else : ?>
/// code for the 4 following post (links to posts only)
<?php endif; ?>
<?php endforeach; ?>
通常のワードプレス ループにカウント/条件を追加する方法は知っていますが、get_posts() 関数では追加できません。
それを達成するのを手伝ってもらえますか?
前もって感謝します ;)
編集:解決策:
OK、それを達成するために「オフセット」引数を使用しました:
<?php $posts = get_posts('numberposts=2&offset=0');
foreach ($posts as $post) : start_wp(); ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" class="footernews-thumb">
<?php if ( has_post_thumbnail()) : ?>
<?php the_post_thumbnail(thumbnail); ?>
<?php endif; ?>
</a>
<h2 class="footernews-title"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<p class="footernews-preview"><?php the_content_rss('', TRUE, '', 20); ?></p>
<?php endforeach; ?>
<?php $posts = get_posts('numberposts=3&offset=1');
foreach ($posts as $post) : start_wp(); ?>
<h2 class="footernews-title"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<?php endforeach; ?>
「ループ」は実際にはループではないため、発生回数をカウントしないようにしました。