The Dragon's Nest

Архивные записи в WordPress

16.08.2009 от Dandr


Помнится, зимой мы с Altesack очень долго бились над тем, что бы архивные записи выводились не в виде ленты, а в виде списки без постраничной разбивки. Т.е. при клике на определённый месяц (или год, день) выводился список постов за этот период. Естественно, описать сразу эти манипуляции я не удосужился, а потом просто забыл.
Думаю, таки надо это сделать.
Для начала, как в сайдбар вывести архив. Если тема поддерживает виджеты, то всё очень просто: активируем одноимённый виджет, сохраняем изменения и дело в шляпе. Если же не поддерживает, то в файле sidebar. прописываем следующие строки:

1
2
3
4
<h3 id="sidebar_title">Архивы</h3>
	<ul>
	< ?php wp_get_archives('type=monthly&show_post_count=1'); ?>
	</ul>

Ну, и CSS редактируем по собственному вкусу.
Эти строки добавят помесячный список в сайдбаре с количеством записей за этот месяц.
Далее открываем index. и пересохраняем с названием date.. Ищем в нём основной вывод. Типа такого:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div class="halfcolumn">
< ?php if (have_posts()) : ?>
< ?php while (have_posts()) : the_post(); ?>
<div class="entry" id="post-<?php the_ID(); ?>">
<h3><a href="<?php the_permalink() ?>" rel="bookmark" title="Ссылка на запись < ?php the_title(); ?>">< ?php the_title(); ?></a></h3>
<p>< ?php the_time('d.m.Y') ?> от < ?php the_author() ?></p>
<br />
< ?php the_content('Читать полностью &raquo;'); ?>
<br />
<p>Рубрики: < ?php the_category(', ') ?> <strong>|</strong> < ?php edit_post_link('Редактировать','','<strong>|'); ?> < ?php comments_popup_link('Комментариев нет &raquo;', '1 Комментарий &raquo;', 'Комментарии (%) &raquo;'); ?></p>
< ?php comments_template(); ?>< ?php if(function_exists('the_ratings')) { the_ratings(); } ?>
</div>
< ?php endwhile; ?>
< ?php else : ?>
<h2 align="center">Не найдено</h2>
<p align="center">Извините, но у нас нет того, что Вы здесь ищете.</p>
< ?php endif; ?>
</div><!-- end halfcolumn -->

И вместо этого куска благополучно вставляем следующий:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div class="arj">
< ?php if(is_day()) { query_posts('year='.get_the_time('Y').'&monthnum='.get_the_time('m').'&day='.get_the_time('d').'&posts_per_page=-1'  ); } ?>
< ?php if(is_month()) { query_posts('year='.get_the_time('Y').'&monthnum='.get_the_time('m').'&posts_per_page=-1'  ); } ?>
< ?php if(is_year()) { query_posts('year='.get_the_time('Y').'&posts_per_page=-1'  ); } ?>
< ?php if (have_posts()) : ?>
<ul>
< ?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Ссылка на запись < ?php the_title(); ?>">< ?php the_title(); ?></a></li>
< ?php endwhile; ?>
</ul>
< ?php else : ?>
<h2 align="center">Не найдено</h2>
<p align="center">Извините, но у нас нет того, что Вы здесь ищете.</p>
< ?php endif; ?>
</div><!-- end arj -->

Собственно, и всё шаманство! :)

Связанные записи


Рубрики: HOWTO, интернет | 7 комментариев


7 комментариев

Tatarnikoff — 17 августа 2009 @ 7:08

Очень полезная информация! Я считаю, это должно быть включено в стандартную поставку WordPress :)

Ptah — 17 августа 2009 @ 12:34

Арбайтен нихт.
Когда заливаю файл date.php и кликаю на любую архивную строку – выдает код и надпись “ничего не найдено”
Архив у меня реализован через виджет. Причем на втором сайдбаре. Может проблема в этом? Попробовал поменять 19 строку в date.php – выдает ошибку. Help :)

Dandr — 17 августа 2009 @ 20:10

Скинь мне на мыло свой date.php. В zip-архиве. Буду дома – гляну.

Ptah — 23 августа 2009 @ 14:52

удалил все пробелы, теперь ничего не происходит. Все осталось как было до этого.

Dandr — 23 августа 2009 @ 16:45

Так, слей-ка ты мне вообще всю твою тему. Архивом. Постараюсь вечером глянуть.

Ptah — 23 августа 2009 @ 19:14

спасибо за помощь, щаз скину

Dandr — 24 августа 2009 @ 1:26

Ptah, сорри, вот только приехал… Завтра гляну.

Оставить комментарий

Текст комментария:

Заметьте: Включена проверка комментариев. Нет смысла повторно отправлять комментарий.


скачать русский wordpress | 59 запросов. 2.588 секунд | /2009/08/16/arxivnye-zapisi-v-wordpress/
hd fly e146 michael jackson beat it sony vegas pro 11 bionic commando 2 powerpoint 2007 narod ru rtm windows 7 7601 creative 1.6 final word c c catch samsung spica gt i5700 6.68 navitel navigator 5.0 0.1069 2012 x men origins lineage 2 interlude mcdonalds rar file amd athlon 64 5400 2110 daiwa crossfire 2 5 7 music 2003 harry potter lego pc sony vegas cutting lg p500 170 2 sony vegas pro 9.0 e 5530 real steel 2011 windows 10 vegas pro 11 keygen windows 7 skachat igry torrent adidas star wars 2012 igo 2011 baby girl devil may cry 1 acer microsoft oblivion 80 90 2010 torrent google chrome windows 7 com mp3 warcraft 3.3 5 a 100 xp sp3 c lite codec warcraft cs 1.6 napoleon total war imperial torrent sony playstation portable windows xp professional x86 empire earth 3 media studio pro criminal 6.5 nfs ru chica bomb mix opera mobile 10 rus 50 2 samsung sgh i900 witu 8gb sony ericsson arc liveresult 2011 2012 windows 7 sp1 acronis ethernet gps nokia 5230 windows xp final ccleaner google chrome psp samsung s5230 mozilla firefox 3.5 rus windows 7 x86 rus autocad 2010 torrent blu ray