WordPress - форум поддержки пользователей | русский ВордПресс

Помощь пользователям русского ВордПресс (WordPress)

Вы не зашли.

Объявление

#1 02.05.2009 11:29:42

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

[FAQ] Как вывести посты на странице...

... и почему этого лучше не делать.

Статические страницы (далее просто страницы) и посты (записи) - совершенно разные сущности, а смешение сущностей до добра не доводит. Посты группируются по рубрикам, коих может быть более одной, а также по меткам (тегам). Если вам захотелось вывести посты из какой-то рубрики на странице, то это значит, что на самом деле вы хотите вывести рубрику. Обычно новичков толкают на преступление "вывод постов на странице" два момента. Первый - в "меню" выбранного шаблона показываются только страницы. Второй - хочется в рубрике иметь "вступление". Рассмотрим подробнее.

Никакого "меню" у WordPress нет*. Просто в большинстве шаблонов в шапку выводится список страниц. Никто не мешает заменить вывод списка страниц на вывод списка рубрик и в результате получить "меню" по рубрикам. Это делается заменой wp_list_pages на wp_list_categories. Само собой разумеется, параметры вызова нужно подкорректировать. Если нужно в "страничное меню" вставить одну-две ссылки на рубрики, то можно воспользоваться плагином Page Links To, позволяющим подменить ссылку в списке страниц. Кстати, с его помощью можно сделать и ссылку "наружу", например, на форум.

Для "вступления" к рубрике можно использовать поле "описание" рубрики (есть плагины, добавляющие визуальный редактор для этого поля и разрешающие использование html форматирования) или шаблон для рубрики, т.к. иерархия шаблонов позволяет для каждой рубрики иметь свой шаблон.

Из "граблей", на которые можно наступить, насильственно выводя посты на странице, стоит отметить "некорректную" работу тега <!--more--> и большую головную боль с пагинацией (постраничный вывод). Слово "некорректную" взято в кавычки из-за того, что на самом деле работает он корректно. У WordPress существует два типа документов (скажем так, дабы избежать термина "страницы" и связанной с этим путаницы): сингулярные и списочные. К сингулярным относятся страницы, посты и аттачи, где <!--more-->  по вполне понятным причинам не режет записи. На списочных - рубрики, архивы по дате или автору, метки - тег <!--more--> вызывает "усекновение" поста. Лечится это присвоением значения false глобальной переменной $more. Чем лечится отсутствие пагинации - не знаю и знать не хочу.

Еще одной причиной желания "убрать посты на страницу" является незнание того, что на главной можно вывести последние посты не из всех рубрик, а только из некоторых, явно указав из каких брать или из каких не брать.

Если все-же необходимости вывода постов на странице оправдана, то лучше всего это делать с использованием индивидуального шаблона страницы (см. раздел FAQ этого форума) и вызова query_posts с соответсвующими параметрами (см. Кодекс). В совсем тяжелых случаях острого желания сделать и  нежелания учиться править шаблоны можно использовать плагин http://blog.portal.kharkov.ua/2008/10/2 … -stranicu/

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

---
* - писалось до появления WP3.0, в котором уже есть родное навигационное меню.


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#2 07.05.2009 22:07:17

N.Alexeev.LG
Новичок
Зарегистрирован: 07.05.2009
Сообщений: 2

Re: [FAQ] Как вывести посты на странице...

Доброго времени суток!
Спасибо за рекомендацию - на удачу поисках в гугле и нашел сразу то что искал. Я новичок в WP, поэтому все действительно полезно!
Однако остались вопросы.
1. Как смешать в "меню" показ рубрик и страниц?
2. Если никак, то не поделитесь ли ссылками на плагины для формирования отдельных шаблонов каждой рубрики?
3. И если все же придется гнать посты на страницу - как все же избежать "грабли" с пагинацией?
4. Как настраивается вывод на главной только отдельных рубрик?
Заранее признателен
Николай

Неактивен

 

#3 08.05.2009 06:27:39

Ю.Б.
Прогрессор
Откуда: Харків, Україна
Зарегистрирован: 25.07.2007
Сообщений: 12116
Вебсайт

Re: [FAQ] Как вывести посты на странице...

1. Если не нужно хитро перемешивать, то достаточно после вызова wp_list_pages сделать вызов wp_list_categories (или в обратном порядке). Если навигация хитрая, то можно использовать навигационные плагины (navt, например). Еще я на форуме maxsite писал, как можно в списке страниц одну из них подменить списком рубрик (совсем уже извращение). Также стоит посмотреть на плагин Page Links To, позволяющий подменять url страницы в списке на любой указанный, в т.ч. на url рубрики.

2. Шаблоны рубрик - это возможности движка http://www.sonika.ru/blog/wordpress/tem … rarchy.htm

3. "не знаю и знать не хочу".

4. query_posts($query_string . '&cat=1')  перед Циклом (Loop). 1 - ID рубрики, подлежащей выводу. Можно через запятую указать несколько рубрик. Если указывать "отрицательные" рубрики (cat=-1,-2), то эти рубрику будут исключены из вывода.


"Лучший способ убедить дурака, что он не прав, — позволить ему поступить по-своему." (Джош Биллингс)

Неактивен

 

#4 08.05.2009 06:41:17

N.Alexeev.LG
Новичок
Зарегистрирован: 07.05.2009
Сообщений: 2

Re: [FAQ] Как вывести посты на странице...

Спасибо, теперь точно разберусь!

Неактивен

 

#5 19.05.2009 14:16:45

wp-user.php
Блогер
Зарегистрирован: 11.03.2009
Сообщений: 65

Re: [FAQ] Как вывести посты на странице...

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

Действительно?! Не знал о такой возможности. Где почитать, как это сделать?

Неактивен

 

#6 25.06.2009 06:10:22

anton55
Новичок
Зарегистрирован: 25.06.2009
Сообщений: 1

Re: [FAQ] Как вывести посты на странице...

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

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

Отредактированно anton55 (25.06.2009 06:25:21)

Неактивен

 

#7 25.06.2009 09:53:36

sonika
Администратор
Откуда: Сочи
Зарегистрирован: 07.09.2006
Сообщений: 3910
Вебсайт

Re: [FAQ] Как вывести посты на странице...

anton55, посмотрите топик на forum.maxsite.org в разделе FAQ по Wordpress "вывод постов рубрики в любом месте" (не помню точное название топика и на forum.maxsite.org зайти не могу)

http://rhymedcode.net/1001-wordpression … -category/


Гуглил, не нашел? | Личка — для общения, форум — для вопросов. Смертный грех №11 — не прочитать РИДМИ.

Неактивен

 

#8 19.07.2009 18:34:51

romanff
Новичок
Зарегистрирован: 28.06.2009
Сообщений: 9

Re: [FAQ] Как вывести посты на странице...

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

а где это , в админке я не нашол подскажите делетанту --дайте путь или скриншот

Неактивен

 

#9 20.07.2009 06:11:53

sonika
Администратор
Откуда: Сочи
Зарегистрирован: 07.09.2006
Сообщений: 3910
Вебсайт

Re: [FAQ] Как вывести посты на странице...

romanff написал:

а где это , в админке я не нашол подскажите делетанту --дайте путь или скриншот

query_posts('cat=1,5,27') в поиск по форуму и/или читать тут


Гуглил, не нашел? | Личка — для общения, форум — для вопросов. Смертный грех №11 — не прочитать РИДМИ.

Неактивен

 

#10 20.07.2009 11:04:26

romanff
Новичок
Зарегистрирован: 28.06.2009
Сообщений: 9

Re: [FAQ] Как вывести посты на странице...

http://mywordpress.ru/support/viewtopic … d=859#p859

большое спасибо здесь все написано по пунктам что куда писать.
мож кому и понадобиться

Неактивен

 

Board footer

Работает на PunBB
© Копирайт 2002–2005 Rickard Andersson