Показать архив сообщений в Wordpress - PullRequest
0 голосов
/ 07 июня 2010

Я хочу отобразить страницы архивов как обычные страницы сообщений ...

Итак, страница сообщений со вторичной навигацией, показывающая:

ПОСЛЕДНИЕ ПОСТЫ / ПОСЛЕДНИЙ МЕСЯЦ / ПОСЛЕДНИЙ ГОД / СТАРЫЙ

На каждой из этих страниц я хотел бы отображать сводку по каждому сообщению, как и на стандартной странице последних новостей. При переходе по ссылке вы получаете полный пост.

Для каждого из пунктов меню я создал отдельные шаблоны страниц, такие как archives_month.php, затем в шаблоне вместо <?php wp_get_archives я использовал <?php query_posts и добавлял некоторые временные параметры, но, к сожалению, я не нашел лучшего / правильный способ получить это еще.

У меня есть один скрипт, который работает:

<?php if (have_posts()) : ?>
<?php $current_month = date('m');?>
<?php $current_year = date('Y');?>
<?php $current_year = $current_year - 24;?>
<?php query_posts("cat=5&year=$current_year&monthnum=$current_month");?>

Для страницы за последний месяц. Но теперь я не могу использовать это для сообщений в прошлом году и старше.

Кто-нибудь может мне помочь? Я искал несколько разных способов сделать это, но в некоторых блогах это неясно, и большинство людей просто получают список архивов, а не отображают сообщения.

Спасибо заранее. Мел

1 Ответ

0 голосов
/ 07 июня 2010

Вы должны быть в состоянии собрать что-то вместе, используя query_posts(), как описано здесь .

Пример со связанной страницы для создания запроса, извлекающего все сообщения в марте 2009 года:

<?php
//based on Austin Matzko's code from wp-hackers email list
  function filter_where($where = '') {
    //posts for March 1 to March 15, 2009
    $where .= " AND post_date >= '2009-03-01' AND post_date < '2009-03-16'";
    return $where;
  }
add_filter('posts_where', 'filter_where');
query_posts($query_string);
?>

вы легко отрегулируете.

Вывод может быть выполнен с помощью The Loop:

// the Loop
while (have_posts()) : the_post(); 
  // the content of the post
  the_content('Read the full post »'); 
endwhile;

Для получения дополнительной информации о том, как настроить материал, отображаемый в Цикле (чтобы показать резюме, о котором вы говорите), смотрите здесь .

...