Вызов подстраниц и плагин Fold page list

Вес PR и подстраницыКак известно, вес PR распределяется поровну между всеми ссылками на странице, а это значит, что чем меньше ссылок, например, на главной странице — тем больший вес достанется каждой из них. Что это дает нам? Конечно же более высокий PR тех страниц, на которую ссылается главная (ведь у главной по статистике самый большой PR). C другими страницами по аналогии.

Предположим, что наш сайт на WordPress более статичен, т.е. информация публикуется не через хронологический тип контента «Записи», а через статические «Страницы». При этом в WordPress есть два варианта отображения списка страниц: либо до определенного уровня вложенности либо полностью всех уровней.

На заметку
Ограничить уровень вложенности страниц можно через параметр 'depth' = 1 (или 2, 3 и т.д.) в коде

 

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

Есть несоклько возможностей решения этой проблемы, предусмотренных самими разработчиками WordPress.

Первая, самая простая, вставить дополнительный код в файле page.php в конце цикла вызова контента:

wp_list_pages ('title_li=&child_of='.$post->ID.'&show_date=modified
&date_format=$date_format'); ?>

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

Поэтому советую использовать следующий код.

if ($post->post_parent)
$children = wp_list_pages ("title_li=&child_of=".$post->post_parent."&echo=0"); else
$children = wp_list_pages ("title_li=&child_of=".$post->ID."&echo=0");
if ($children) { ?>
<ul></ul>

При этом список подстраниц будет выводится и при их просмотре.

Также можно поиграться с оформлением. По умолчанию в WordPress для такого списка будут генерироваться некоторые стили.

 .pagenav { ... }
.page_item { ... }
.current_page_item { ... }
.current_page_parent { ... }

Их можно прописать в файле styles.css вашей темы, и сделать оформление, которое вам по душе.

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

.current_page_item a { text-decoration: none; color : #000; border: none; }
.current_page_parent a { text-decoration: none; color : #000; border: none; }

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

Сайт по ипотеке

Тем не менее, оба эти варианта не совсем подойдут, если вы хотите выводить подобный список подстраниц в сайдбаре.

Для этого есть плагин Fold page list.

Он как бы «складывает» стандартную иерархию, и вы видете посдстраницы только при переходе на родительскую страницу.

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

[/sourcecode]

</span></span>

<span style="text-decoration: line-through;"><span style="line-through;">на</span></span>
<span style="text-decoration: line-through;"><span style="line-through;">[sourcecode language='css']

Скачать плагин Fold page list с сайта разработчика

Установка этого плагина — очень неплохое решение, однако иногда в его работе встречается «выпадение» некоторых страниц, они становятся просто невидны в навигации. Так что пользоваться им или нет — выбор за вами.

Чтобы упростить задачу качаем плагин Fold Page Menus, в отличие от  Fold page list он не создает чрезмерных запросов к базе данных, но функции у него такие же.

Обновлено 01.08.08. По совету Соники, можно вместо Fold page list также можно использовать вот этот плагин.


 
 
 

Отзывов (16) на «Вызов подстраниц и плагин Fold page list»



йа загородный дом пишет:

апреля 1, 2008 в 16:40

Спасибо за советы попробую использовать этот плагин

Roman пишет:

апреля 12, 2008 в 11:58

Спасибо за решение,

также есть похожий плагин для «скрадывания» под рубрик —

Fold Category List или fold_category_list

Повелитель тегов пишет:

июля 10, 2008 в 16:09

для меня плагин Fold page list в самый раз — отображает в сайдбаре то что нужно — страницу и ее дочек. Но вот беда, делает слишком много запросов — 50-60 (версия 1.8) без него -20-25. вот такая вот марковка.

sonika пишет:

августа 1, 2008 в 12:09

Но вот беда, делает слишком много запросов — 50-60 (версия 1.8) без него -20-25.

попробуйте этот плагин вместо Fold page list:

ili.com.ua/php/nautic-pag...azheniya-stranic

Анастасия пишет:

августа 1, 2008 в 12:15

Sonika, спасибо! Сама искала альтернативу Fold page list.

engine пишет:

августа 17, 2008 в 17:00

Тоже хотел сказать Спасибо за советы

обязательно попробую использовать этот плагин

SEO пишет:

ноября 2, 2008 в 15:12

Да — тоже хотел сказать спасибо.

Написано про вес PR все хорошо и правильно.

Анастасия пишет:

октября 1, 2009 в 21:52

Ссылка на плагин Nautic Pages изменилась, теперь плагин находится здесь wordpress.org/extend/plugins/nautic-pages/

Tanё4ek пишет:

октября 2, 2009 в 18:05

Спасибо, Анастасия!

не подскажите как убрать слово СТРАНИЦЫ перед списком страниц? в коде плагина ничего такого не нашла...

жду)

Анастасия пишет:

октября 3, 2009 в 18:28

Вы имеете в виду список под основной записью?

Если да, то за это отвечает файл page.php вашей темы, там должна быть строка link_pages (__ ('Странцы:

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

Tanё4ek пишет:

октября 4, 2009 в 13:59

Нет.

в сайтбаре с помощью плагина Nautic Pages вывожу список страниц, они выводяться замечательно, но перед этим списком в сайтбаре выводиться слово СТРАНИЦЫ.

вот код:

Страницы

Старинца 1

...

Страница 2

в functions.php удалила строчки:

'name' => 'Main Sidebar',

'before_title' => '',

'after_title' => '',

, осталось:

if ( function_exists ('register_sidebar') ) {

register_sidebar (array (

'before_widget' => '',

'after_widget' => '',

));

}

теперь исходный код такой:

Страницы

Старинца 1

.......

Старинца 2

не могу найти где удалять Страницы

помогите, пож-та)

Tanё4ek пишет:

октября 4, 2009 в 14:00

хм, а код тут не выводиться...

Tanё4ek пишет:

октября 4, 2009 в 14:05

Скачайте от сюда с кодом плиз):

www.sendspace.com/file/8qqov

Анастасия пишет:

октября 4, 2009 в 14:09

Это ведь виджет. Вы когда помещаете его в сайдбар, там по-умолчанию есть заголовок «Страницы», просто очистите поле заголовка и сохраните виджет.

Tanё4ek пишет:

октября 4, 2009 в 14:13

НАШЛА!!

echo $before_title . $title . $after_title;

спасибо)))

Анастасия пишет:

октября 4, 2009 в 14:15

Не за что, Вы же сами нашли :)

Ваш отзыв


© 2007-2009 Уроки WordPress.
Дизайн WpHelp.ru.