Показать дату старого поста

Прикрутил тут кусок кода, чтобы показывать самые комментируемые посты – но этот кусок изначально не показывает дату.
А надо. Попытался сам мастерить – не получается. Скажите, что поправить надо:

      <?php 
    $result = $wpdb->get_results("SELECT comment_count,ID,post_title,post_author FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 8");
    foreach ($result as $topten) {
    $postid = $topten->ID;
    $title = $topten->post_title; 
    $commentcount = $topten->comment_count;
    if ($commentcount != 0) {
    ?>
      <div class="post_top">
        <?php the_time('d.m.Y') ?>
      </div>
      <div><strong><a href="<?php echo get_permalink($postid); ?>"><?php echo $title; ?> (<?php echo $commentcount; ?>)</a></strong></div>
      <?php } } ?>

Я выдумал тот кусок, который посередине – его не было вообще:

      <div class="post_top">
        <?php the_time('d.m.Y') ?>
      </div>

the_time() берет дату/время из текущего поста, поэтому в Кодексе и пишут "использовать внутри Loop". Возможно, поможет использование глобальной переменной $post вместо $topten и/или вызов setup_postdata($topten); Посмотрите примерчики http://codex.wordpress.org/Template_Tags/get_posts

Мда. Крутовато несколько. Не по зубам это мне пока.

<?php 
    $result = $wpdb->get_results("SELECT * FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 8");
    foreach ($result as $post) {
    if ($post->comment_count) { ?>
      <div class="post_top">
        <?php the_time('d.m.Y') ?>
      </div>
      <div><strong><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?> (<?php echo $post->comment_count; ?>)</a></strong></div>
      <?php } } ?>

Ё! Работает. Ещё и уменьшили на треть.
"Ай да Пушкин! …" Спасибо огромное.

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