single.php

include (TEMPLATEPATH . '/searchform.php');
if (have_posts()) : while (have_posts()) : the_post();
the_title();

Pages или Posts?

the_time('F j, Y'); февраль 26, 2008
the_author(); Yantar
the_category(', '); wordpress, для продолжающих
the_ratings();
раз снежинкадва снежинкатри снежинкаа я четвертую сорву!отличная снежинка (голосов: 49)
UTW_ShowTagsForCurrentPost("commalist"); Ключевые темы: No Tags
show_post_count(); Просмотров: 9584

the_content();

Я довольно часто пользуюсь движком WordPress в качестве CMS для маленьких и не очень сайтов. И каждый раз передо мной встает вопрос - как лучше организовывать информацию, посредством записей (Posts) или страниц (Pages)?
Понятно, что новости правильно делать с помощью постов, а не страниц: они сразу и в рсс отправляются.
Большинство статичных страниц типа "О компании" или там "История" лучше делать страницами же (простите за тавтологию). К тому же часто получается так, что у страницы образовывается подстраница, а у той еще одна... То есть на каждой нужен свой контент - и на главной странице, и на ее подопечных. Такое можно устроить и с помощью иерархии "Категория - Записи" (например, с помощью отдельных шаблонов для каждой категории), но возни будет больше.
Однако вот есть у меня в ведении сайт с рубрикой "Библиотека". По замыслу заказчика туда отправляются всякие статьи на темы, которым посвящен сайт. Но эта Библиотека не должна была пополняться сколько-нибудь регулярно, в рсс ее отдавать было не нужно, а главное - в календаре обновлений сайта ее обновления не должны были светиться. То есть, это должен был быть такой архив, в который иногда закидывались пачки старых статей. Так что в свое время я сделала эту Библиотеку с помощью страниц. Мне пришлось при этом справляться с некоторыми трудностями: например, в тогдашней версии Вордпресс был баг. Заключался он в том, что если на сайте очень много страниц, а на главной надо вывести, к примеру, ссылки на титульные (на ту же заглавную страницу Библиотеки), то движок вытаскивал из базы все страницы, а потом показывал только нужные. В какой-то момент, таким образом, главная страница у меня стала отказываться грузиться, пришлось срочно делать заплатку из своей собственной функции. Кстати, не знаю, исчез ли этот баг в новых ветках Вордпресса.
Еще одно: пока статей было мало, на это никто не обращал внимания, но потом архив разросся, и стало нужно выводить его содержимое по дате: от новых материалов к старым. Опять же, эта возможность не предусмотрена.
Еще одна сложность, с которой пришлось столкнуться, - к каждой странице, конечно, можно назначить автора. Но в Вордпрессе нет стандартных функций для вывода у автора ссылок на все его страницы. Конечно, такую функцию несложно написать самостоятельно, но вот сам движок под это не заточен, и это стоит учитывать.
Наконец, последнее: в какой-то момент оказалось, что статьи в Библиотеки могут быть не только в html-виде, а еще и файлами pdf. То есть, не надо создавать новую страницу, а каким-то образом делать отдельную ссылку. И она должна выводиться в общем датированном списке - среди обычных текстов. Сделай я когда-то архив через посты, проблем бы не было: можно было бы создавать новый пост с нужным заголовком, автором и датой, без содержимого, а в custom-fields прописать ссылку на pdf. И при выводе (а вывод постов происходит, как мы помним в шаблоне темы с помощью while) можно было бы каждый пост проверять на наличие нужного custom-fields и, соответственно, выводить либо ссылку на пост, либо ссылку на pdf. Страницы же мало того, что по умолчанию не содержат возможности добавить custom-field, но и в момент вывода недоступны, вызываясь сразу всем скопом через встроенную функцию.
В общем, благо, у того сайта готовится переиздание. У меня есть шанс переделать Библиотеку.
Для тех же, кому, возможно, пригодится мой опыт, резюмирую:

  1. Записи (Posts) автоматом отправляются в rss.
  2. Записи автоматом светятся в календаре.
  3. Записи легко сортируются по дате.
  4. Записи с помощью встроенных функций отражаются на странице автора.
  5. Вывод каждой записи можно легко конролировать из шаблона темы.
  6. Страницы вкладываются одна в другую.

(Прошу обратить внимание, что это не перечень плюсов и минусов, а лишь особенности разных типов данных в Вордпрессе.)

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

Комментарии (12) к записи «Pages или Posts?»

  1. gogo Says:

    Полезно!

    А можете поделится этой функцией, выводящей список постов автора? Идея в том, чтобы сделать в сайдбаре список авторов и количество их постов (по типу как сделаны тут категории) и при клике на них выводились бы все посты по дате публикации.

    Очень бы мне помогло :)

  2. Yantar Says:

    вообще-то уже делилась (ворчу) легко находится по тегу “авторы”, что в сайдбаре
    http://blog.trampampam.ru/wordpress/informatsiya-ob-avtore-zapisi/

  3. VLAD Says:

    А какой CMS лучше использывать для сайта что бы всяких возможностей было ?

  4. Yantar Says:

    Объяснитесь, каких таких всяких? В данном блоге рассматривается WordPress.

  5. Железногорск Says:

    Необычный у вас “кодовый” блог, замудрённый. Хорошо что учите людей на своих ошибках!

  6. Nike Says:

    Лично я для сатов использую и то и то, главно правильно совместить !

  7. Gagas Says:

    Однозначно ВордПресс самый лучший ЦМС для организации блогов. Сайты делаю либо на Джумле либо на Друпале.

  8. jdoom Says:

    Nike скорее то что ему подходит да и глазу нравиться:)

  9. Мачу-Пикчу Says:

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

  10. Сергей Says:

    отличный движок, ещё бы разобраться в нем..

  11. Михаил Says:

    Подскажите пожалуйста как сделать чтобы страницы были как рубрики..тоесть чтобы новости добавлять на страницы как и в рубрики

  12. MaryLee Says:

    Всё-таки дизайн блога стоит сделать попроще, глаза устают

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

It sounds like SK2 has recently been updated on this blog. But not fully configured. You MUST visit Spam Karma's admin page at least once before letting it filter your comments (chaos may ensue otherwise).
show_manual_subscription_form();

Subscribe without commenting

endwhile;