私のループで<?php the_post_thumbnail();?>
を使うための最良の方法は? _しかし_ は最初の投稿にサムネイルを表示するだけですか?つまり、ループの最初の投稿だけに画像が表示されるのですか。
これは、すべての投稿の画像を表示するループの例です。
<!-- Start the Loop. -->
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Display the Title as a link to the Post's permalink. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<!-- Display the posts Image thumbnail for the post -->
<?php the_post_thumbnail();?>
<!-- Display the date and a link to other posts by this posts author. -->
<small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>
<!-- Display the Post's Content in a div box. -->
<div class="entry">
<?php the_content(); ?>
</div>
ありがとうございました!
コード:
<!-- Start the Loop. -->
<?php $first = true; ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Display the Title as a link to the Post's permalink. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<!-- Display the posts Image thumbnail for the post -->
<?php if ( $first ): ?>
<?php the_post_thumbnail();?>
<?php $first = false; ?>
<?php endif; ?>
<!-- Display the date and a link to other posts by this posts author. -->
<small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>
<!-- Display the Post's Content in a div box. -->
<div class="entry">
<?php the_content(); ?>
</div>
あなたのテンプレートのこのコードは最初の投稿に対してのみ投稿のサムネイルを表示します。
<?php
! isset ( $loop_first ) and the_post_thumbnail();
$loop_first = 1;
?>
これが私のプロジェクトで使用しているもので、私にとってはうまく機能しています。あなたが提供するコードをそれに合うように修正しました。単にそれをドロップインして、それは最初の投稿のためだけに投稿のサムネイルを表示します。
<!-- Start the Loop. -->
<?php $i = 1 ; ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- Display the Title as a link to the Post's permalink. -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<?php if ($i == 1): ?>
<!-- Display the posts Image thumbnail for the post -->
<?php the_post_thumbnail();?>
<?php endif; ?>
<!-- Display the date and a link to other posts by this posts author. -->
<small><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></small>
<!-- Display the Post's Content in a div box. -->
<div class="entry">
<?php the_content(); ?>
</div>
<?php $i++; endwhile; endif; ?>
current_post
の値を確認するだけです
global $wp_query; // get the global query - works in custom queries too
if(0 == $wp_query->current_post){ /**is the first post**/ }