2010-06-07 2 views
0

Я ищу для отображения страниц архивов как на обычной странице сообщений ...сообщений Показать архив в Wordpress

Таким образом, страница сообщений со вторичным навигации с указанием:

ПОСЛЕДНИЕ СООБЩЕНИЯ/ПОСЛЕДНИЙ МЕСЯЦ/ПРОШЛОГО ГОДА/OLDER

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

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

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

<?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");?> 

Для последней страницы МЕСЯЦА. Но теперь я не могу использовать это для сообщений LAST YEAR и OLDER.

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

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

ответ

0

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

Пример из связанной страницы для построения запроса, забирающий все сообщения в марте 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 
while (have_posts()) : the_post(); 
    // the content of the post 
    the_content('Read the full post »'); 
endwhile; 

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

+0

Hiya, Спасибо за ответ, но я увидел это и попытался его реализовать. Я не уверен, как это должно быть реализовано, поскольку я не очень хорошо знаком с php. Я поместил весь этот код в файл archive_year.php и внутри цикла. Можете ли вы показать мне пример того, где мне нужно поставить вышеприведенный фрагмент кода из Остина Мацко? Спасибо заранее! Mel – missmonkee

+0

@missmonkee Я не настолько глубоко в WP templating прямо сейчас, чтобы сделать полный пример, но вы должны убрать 1-й блок кода в любой файл шаблона, который использует The Loop ('while (has_posts()): .... '), и он должен отфильтровать список до указанного периода. –

+0

К сожалению, это не работает, и я понятия не имею, что я делаю неправильно. это сводит меня с ума! Посмотрите здесь: = '2010-05-01' AND post_date <'2010-05-15'"; return $ where; } add_filter ('posts_where', 'filter_where'); query_posts ($ query_string); ?> У вас есть проблемы с этим? Я проверил мой администратор, и у меня есть сообщения за этот период, но никаких сообщений об ошибках не возникает. ПОМОГИТЕ! – missmonkee