Вызов подстраниц и плагин 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. йа загородный дом
    01 Апр 2008 в 16:40

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

  2. Roman
    12 Апр 2008 в 11:58

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

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

    Fold Category List или fold_category_list

  3. Повелитель тегов
    10 июля 2008 в 16:09

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

  4. sonika
    01 Авг 2008 в 12:09

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

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

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

  5. Анастасия
    01 Авг 2008 в 12:15

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

  6. engine
    17 Авг 2008 в 17:00

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

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

  7. SEO
    02 Ноя 2008 в 15:12

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

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

  8. Анастасия
    01 Окт 2009 в 21:52

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

  9. Tanё4ek
    02 Окт 2009 в 18:05

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

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

    жду)

  10. Анастасия
    03 Окт 2009 в 18:28

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

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

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

  11. Tanё4ek
    04 Окт 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

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

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

  12. Tanё4ek
    04 Окт 2009 в 14:00

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

  13. Tanё4ek
    04 Окт 2009 в 14:05

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

    www.sendspace.com/file/8qqov

  14. Анастасия
    04 Окт 2009 в 14:09

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

  15. Tanё4ek
    04 Окт 2009 в 14:13

    НАШЛА!!

    echo $before_title . $title . $after_title;

    спасибо)))

  16. Анастасия
    04 Окт 2009 в 14:15

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

Ваш отзыв


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