Делаю ручками сборку недельных архивов.
ЧПУ на недельные архивы выглядят так: http://мойсайт.ru/2009/?w=5
Вопрос – можно ли ручками приписать в URL дополнительный параметр, чтобы при клике на эту ссылку выводился архив вордпресса за указанную неделю с сортировкой записей от понедельника в пятнице, а не наоборот (как сделано по умолчанию)?
Версия вордпресса, если это имеет значение, 2.5.
PS: Как понимать внутри вордпресса, что выданный архив – недельный. is_month() есть, is_day() есть. А is_week() нету ((
Параметр направления сортировки нужно задавать не в урле, а в query_posts или чем Вы там получаете массив постов.
А как хотите, так и понимайте 🙂 Не нравится – допишите функционал.
То есть нет такого параметра для урла?
Насчет query_posts. Как я понимаю, когда вордпресс обрабатывает урл вида http://мойсайт.ru/2009/?w=2, то он сваливается в archive.php. То есть считает такой урл архивом (и правильно делает ибо это – недельный архив).
У меня в archive.php нет query_posts. За вывод постов там (насколько я понимаю) ответственен цикл <?php while (have_posts()) : the_post(); ?>. Могу предположить, что он проверяет есть ли очередной пост в массиве (где-то уже полученном, а может на ходу и получаемом), и если да – выводит его "на печать".
Как тут привинтить сортировку – непонятно.
А как хотите, так и понимайте 🙂 Не нравится – допишите функционал.[/quote]
🙂
И как этот код потом использовать?
PS: Спасибо за отклик на проблему.
Может и есть, за ними не уследишь 🙂
Ну это-то как раз классика жанра. Перед Циклом (Loop его зовут) ставится query_posts($query_string . "&order=ASC") (Пример из Кодекса http://codex.wordpress.org/Template_Tags/query_posts )
Его можно вставить functions.php своей Темы или сделать из него плагин. Тогда можно будет использовать эту функцию для разворота только недельных списков, типа так:
if (is_week()) query_posts($query_string . "&order=ASC");
Можно, конечно, и $_GET[‘w’] проверять, но это как-то некошерно смотрится 🙂
Спасибо, ещё раз.
С Вашей помощью научился отлавливать недельные архивы. Добавил функцию в functions.php, с помощью нее в шаблоне темы archive.php отлавливаю теперь недели и меняю для них порядок вывода постов и их количество.
Чисто ради интереса остался такой вопрос – а насколько сильно использование описанной Вами функции загружает сервер? Не в абсолютных, понятное дело, величинах, а в относительных? Проверка, скажем, на день с помощью conditional tag’а is_day() "быстрее" проходит описанной проверки "на неделю" или нет?
PS: И уж совсем такой отстраненный вопрос – а насколько в Wordress вообще развита/принята передача параметров в URL’е?