Intereting Posts
add_feed не удалось открыть поток Как модерировать сообщения Изменения в основной теме на нескольких сайтах не отображаются на дочерних сайтах Размер эскиза Разметка страницы для страницы пользовательской таксономии Как использовать интернационализированную функцию human_time_diff () на китайском языке? Обновить значение ассоциативного массива с помощью update_post_meta Добавить страницу, которая появляется в бэкэнд-админе, в котором перечислены файлы для загрузки? WP 3.3 Как установить AWS SDK для PHP в wordpress? используя несколько запросов с одним $ wpdb Использовать дочернюю тему на определенных страницах, а не на других? Вопрос о Messing с категориями страниц и описаниями Разработка плагинов для зарегистрированных пользователей wp_nav_menu, похоже, не работает на пользовательских страницах типа сообщения Как изменить метку столбца в параметрах экрана для настраиваемого столбца?

Показывать миниатюру только на первом месте в цикле?

Каков наилучший способ использования <?php the_post_thumbnail();?> В моем цикле, но показывать только эскиз в FIRST-сообщении? Значит, только первое сообщение в цикле отобразит это изображение?

Вот пример цикла, который показывает изображение для ВСЕХ сообщений:

 <!-- 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> 

Спасибо!

  • добавьте переменную перед циклом (до момента while), например $ first = true;
  • добавьте проверку внутри цикла для этой переменной
  • после использования изменить флаг

Код:

 <!-- 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**/ }