Нестандарный вывод ленты новостей

Здравствуйте.
Обычная лента новостей (рубрика к примеру) выглядит так: 1 новость, 2 новость 3 новость и так далее.
Но стоит задача вывести так: 1 новость, 3 новость, 4 новость, 2 новость… Как бы это по лучше реализовать?

Заранее спасибо.

Честно не понимаю чем не устраивает стандартный вывод новостей.

/*Вывод первой новости*/
<?php $my_query = new WP_Query('showposts=1&cat=28');
    while ($my_query->have_posts()) : $my_query->the_post();
    $do_not_duplicate = $post->ID;?> //выключаем дублирование
<div>
    <h3><a href="<?php the_permalink(); ?>" rel="bookmark" title="Подробнее &raquo; <?php the_title(); ?>"><?php the_title(); ?></a></h3>
    <?php the_time('d M Y G:i'); ?></b><?php the_content('Подробнее &raquo;'); ?>
</div>
<?php endwhile;?>

/*Вывод четвёртой новости*/
<?php
    $my_query = new WP_Query('showposts=1&cat=28&offset=3');
    if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); 
    if( $post->ID == $do_not_duplicate ) continue; update_post_caches($posts);
?>
<div>
    <h3><a href="<?php the_permalink(); ?>" rel="bookmark" title="Подробнее &raquo; <?php the_title(); ?>"><?php the_title(); ?></a></h3>
    <?php the_time('d M Y G:i'); ?></b><?php the_content('Подробнее &raquo;'); ?>
</div>
<?php endwhile; endif; ?>


/*Вывод третьей новости*/
<?php
    $my_query = new WP_Query('showposts=1&cat=28&offset=2');
    if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); 
    if( $post->ID == $do_not_duplicate ) continue; update_post_caches($posts);
?>
<div>
    <h3><a href="<?php the_permalink(); ?>" rel="bookmark" title="Подробнее &raquo; <?php the_title(); ?>"><?php the_title(); ?></a></h3>
    <?php the_time('d M Y G:i'); ?></b><?php the_content('Подробнее &raquo;'); ?>
</div>
<?php endwhile; endif; ?>


/*Вывод второй и ещё 9-ть новостей из категории*/
<?php
    $my_query = new WP_Query('showposts=10&cat=28&offset=1');
    if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); 
    if( $post->ID == $do_not_duplicate ) continue; update_post_caches($posts);
?>
<div>
    <h3><a href="<?php the_permalink(); ?>" rel="bookmark" title="Подробнее &raquo; <?php the_title(); ?>"><?php the_title(); ?></a></h3>
    <?php the_time('d M Y G:i'); ?></b><?php the_content('Подробнее &raquo;'); ?>
</div>
<?php endwhile; endif; ?>

Как то так, но вообще это всё делается из админки, у новости указать время публикации позже или раньше как угодно.

в общем экспериментируй.

Да, полазив по кодексу я тоже пришел к такому решению.
Насколько нужна вот эта штука? – update_post_caches($posts);

почитай тут – http://codex.wordpress.org/The_Loop

Anonymous
Отправить
Ответ на: