single.php

include (TEMPLATEPATH . '/searchform.php');
if (have_posts()) : while (have_posts()) : the_post();
the_time('F j, Y'); апрель 17, 2007
the_author(); Yantar
the_category(', '); wordpress, для продолжающих
the_ratings();
раз снежинкадва снежинкатри снежинкаа я четвертую сорву!отличная снежинка (голосов: 21)
UTW_ShowTagsForCurrentPost("commalist"); Ключевые темы: No Tags
show_post_count(); Просмотров: 11671

the_content();

Блог, как известно, отличается от простых сайтов тем, что записи в нем датированы и показываются читателю в обратном порядке. Но если рассматривать WordPress не как просто блоговый движок, а как CMS, то может возникнуть потребность представить посетителю записи в алфавитном порядке.
Я бы в данном случае пользовалась страницами (Pages): тут пришелся бы ко двору тэг wp_list_pages("sort_column=post_title"). Но если уж очень хочется вывести по алфавиту именно постинги, то стоит воспользоваться уже рассмотренным ранее query_posts.
Итак, в файле index.php (хотя можно создать и отдельный файл для вывода нужной категории), и перед лупом пишем:

<?php
if (is_category('Glossary')) 
{
     $posts = query_posts($query_string . '&orderby=title&order=asc&posts_per_page=-1');
} 
// а вот и луп!
if (have_posts()) : while (have_posts()) : the_post(); ?>


Ну, а дальше как обычно - выводим заголовки и что там еще нужно, а потом завершаем луп.
Замечу, что аргумент posts_per_page=-1 выводит на одной странице все записи сразу, а не постранично.

Основа для текста, как всегда взята из Кодекса, и если б вы знали, как мне жаль, что не всякий естествоиспытатель вордпресса прочитывает сей документ!

Насколько этот текст оказался полезным?
раз снежинкадва снежинкатри снежинкаа я четвертую сорву!отличная снежинка (голосов: 21)
comments_template();

Комментарии (28) к записи «Словарь на основе Wordpress»

  1. sonika Says:

    Яна, а ты пробовала этот луп в действии? Мне интересно, будет ли wordpress выводить посты по русскиму алфавиту. Я как-то пробовала плагин wp-snap, но с русским алфавитом он как-то не пошел…

    (это можно стереть: pre ломает страницу в IE6, и textarea для коммента на весь экран)

  2. Yantar Says:

    Да, пробовала. С русским нормально работает (но я не знаю, как оно будет, если MySQL<4.1)

    за замечания спасибо! не успеваю пока проверять кроссбраузерность

  3. sonika Says:

    Ура! Мне как раз нужен словарик. Буду пробовать на локалхосте.
    Хорошо, что этот блог «ожил», я всегда с удовольствием читаю :)

  4. Yantar Says:

    ну, у меня был небольшой творческий кризис, это да
    думаю, он миновал :-))

  5. maksim Says:

    Надо будет обязательно попробывать.

  6. baby Says:

    Отличная статья, спасибо

  7. nokia Says:

    в глазах рябит :)

  8. Тук Says:

    Да, нужная вещь, только не всегда срабатывает.

  9. Sergey Says:

    А еще вот такой вопрос на удачу.

    Хочется в Вордпресе taxonomies, как в Друпале. Ну и словари. Чтобы можно было, допустим, два словаря с термами (категориями). И чтобы их можно было выводить в разных местах сайта. Наверное, возможен какой-нибудь хак типа сделать две категории, каждая со своими подкатегориями и показывать фиксированную категорию в нужном месте. Не было ли подвижек перенять друпаловские таксономии?

  10. Yantar Says:

    Да, я делала такой плагин для своих нужд. Надо бы его оформить как следует и выложить.

  11. kontiky Says:

    А вот такого типа рубракацию - как в http://exler.ru/films - таким образом можно сделать? И еще вопрос, как можно сделать, что бы первые N постов отображались бы более полно, а остальные - кратко (опять таки как у Экслера)?

  12. Yantar Says:

    kontiky: такого типа - нет, не уверена. думаю, там надо отдельно код писать
    чтобы первые N постов отображались бы более полно, а остальные - кратко, надо просто использовать два Лупа. подробнее про Луп тут: http://trampampam.ru/blog/index.php?tag=loop

  13. Ваня Says:

    Здравствуйте. Я воспользовался этим способом в шаблоне для категорий и всё сработало. Потом я попытался использовать его в шаблоне для вывода постов помеченных тегом (из плагина simple tagging). В этом случае не работает. Получается просто пустой список. Не подскажете, в чём может быть дело?

  14. Yantar Says:

    Ваня, увы, Simple Tagging я не пользовалась, так что не знаю. Будет время - посмотрю.

  15. pk Says:

    Ни с того, ни с сего (по крайней мере так показалось - все даже восстанавливал из бэкапов - не помогло) записи стали сортироваться по ID. Причем с первым номером - на первой странице в самом верху. :(
    Как уже сказал, пробовал восстановить из бэкапов и базу, и файлы - не помогает.
    В чем бы может быть дело?

  16. Yantar Says:

    pk - проверьте, по какому именно шаблону у вас работает нужная страница. проверьте, есть ли в этом шаблоне необходимый код. тщательно проверьте код.

  17. pk Says:

    Можно поставить любую свежескачанную тему - результат не изменится.

  18. Yantar Says:

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

  19. pk Says:

    Извините, пожалуйста, что влез.
    Мне никакой словарь не нужен - наоборот хочу, чтобы все было по умолчанию.

  20. Yantar Says:

    а-а, тогда понятно :-)
    может, с плагинами что-то не так. попробуйте все отключить и включать потом по одному.

  21. Ivan Says:

    а почему, интересно, не каждый может прочитать документ?

  22. Aksya Says:

    спасибо за плагины!

  23. Avork Says:

    При установке сортировки в облаке тегов по алфавиту orderby=name&order=ASC правильно сортируются только теги на английском, а русские - хаотично.
    Как это исправить?

  24. Yantar Says:

    Avork, проверьте, все ли в порядке с кодировкой базы.

  25. Avork Says:

    База данных выполнена в кодировке utf8_general_ci

  26. Yantar Says:

    посмотрите еще, пожалуйста, что у нее с параметром collation?

  27. фдуч Says:

    // а вот и луп!
    такое примечание говорит о многом =D

  28. Yantar Says:

    фдуч, интересно, о чем?

Есть комментарии?

show_manual_subscription_form();

Subscribe without commenting

endwhile;