Альтернативная стилизация постов на главной странице
Проблема.
Много новых Wordpress-тем имеют поразительные возможности по отображению постов на главной странице. Например, можно отображать первые три поста несколько большими, чем остальные (с изображениями и расширенным текстом), а остальные посты показывать в более простом виде.
Существует множество тем, разработчики которых используют два различных цикла для достижения целей, указанных в примере. А это неправильно и может привести к нежелательным последствиям. Далее будем использовать более простой метод.
Решение.
Вот произвольный пользовательский цикл, который первые три поста отображает в немного более интересном виде, нежели остальные. Вы можете заменить стандартный цикл в файле index.php на этот:
$postnum = 0;
while (have_posts()) : the_post(); ?>
<?php if ($postnum <= 3){ ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<div class="date"><span><?php the_time('M j') ?></span></div>
<h2>(<?php echo $postnum;?>)<a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<div class="post-image" style="text-align:center;">
<a href="<?php the_permalink() ?>"><img src="<?php bloginfo('template_directory' ); ?>/timthumb.php?src=<?php echo catch_that_image(); ?>&w=500&h=200&zc=1" alt="<?php the_title(); ?>" /></a>
</div>
<p><?php the_content('Read the rest of this entry »'); ?></p>
<p class="more"><a href="#">Read More</a></p>
</div>
</div>
<?php } else {
<div <?php post_class( 'single ' . $end ); ?> id="post-<?php the_ID(); ?>">
<div class="post-content">
<h3><a href="<?php the_permalink() ?>">(<?php echo $postnum; ?>)<?php the_title(); ?></a> <?php edit_post_link('_', '', ''); ?></h3>
<p><?php the_excerpt( '' ); ?></p>
<p class="more"><a href="#">Read More ?</a></p>
</div>
</div><!-- End post -->
<?php }
endwhile;
?>
Объяснение кода.
Тут нет ничего сложного. Мы просто создаем PHP-переменную $postnum. Если значение переменной $postnum меньше или равно 3, то выводим посты в более интересном виде. Если же значение $postnum больше 3, то посты выводятся в более компактном виде. Вот и все.







0 коммент.:
Отправить комментарий