Многоуровневая иерархия страниц


Большинство моих сайтов WordPress на сегодняшний день представляют собой контент блога, а также иерархию страниц 1 или 2 уровня.

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

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

РЕДАКТИРОВАТЬ - Чтобы уточнить, в настоящее время я не выбрал тип навигации, это часть вопроса. В иерархии страниц 2 уровня я обычно использую верхнюю навигацию для 1-го уровня, с выпадающим списком, показывающим 2-й уровень навигации

Это нелегко будет распространить на 4 уровня навигации (если только мы не перейдем к открытию нескольких меню, аналогичных меню типа кнопки "Пуск" Windows, или примеру menumatic в этой статье ).

Поэтому я рассматриваю, какие альтернативные подходы доступны, например, навигация верхнего уровня на верхней панели, а затем боковая панель, показывающая заголовки навигации 2-го уровня, с расширяемыми подразделами по мере перехода на 3-й и 4-й уровни. Например, смотрите раздел "В действии" в правом нижнем углу плагина "Список страниц". веб-страница

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

Author: Kris C, 2010-09-28

2 answers

Меню с нединамическим содержимым

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

Меню с динамическим содержимым

  1. Если структура меню не исправлена, вы можете:

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

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

    C. выберите другое меню "не-wp" и заполняйте его динамически при каждой загрузке страницы (очевидно, с помощью кэширования). пример: чтобы поместить счетчик (67) позади записей, представляющих страницы тегов

В случае варианта (c) я бы обратился, например, к: http://www.mycssmenu.com / создайте код для понравившегося вам меню, затем скопируйте и вставьте javascript и css для этого меню в свой header.php вашей темы. (Я не знаю, кому принадлежит этот сайт, но система графического интерфейса для создания нового меню абсолютно очень крутая).

Затем замените биты содержимого (очень просто: только элементы li) некоторым кодом, который, например, запрашивает количество категорий в иерархическом цикле и заменяет элементы li динамическим выводом.

--> Таким образом, у вас есть динамическое меню с динамическим содержимым, и вы можете играть с кодом, чтобы делать с ним все, что вам нравится в вашем меню.

Пример

Генератор меню сгенерировал меня .css и .javascript и мой пример содержимого меню. Я заменил содержимое примера вызовами функции "Taglinklinerounded":

<li><a class="qmparent" href="javascript:void(0)">ARTS</a>
        <ul>
        <li><span class="qmtitle" >Listen</span></li>
        <?php echo taglinklineRounded('music',    'Music') ?>
        <?php echo taglinklineRounded('radio',    'Radio') ?>
        <li><span class="qmdivider qmdividerx" ></span></li>
        <li><span class="qmtitle" >Look</span></li>
        <?php echo taglinklineRounded('comics',   'Graphics') ?>
        <?php echo taglinklineRounded('photo',    'Photo') ?>
        <?php echo taglinklineRounded('graphics', 'Graphics') ?>
        <?php echo taglinklineRounded('art',      'Art') ?>
        <li><span class="qmdivider qmdividerx" ></span></li>
        <li><span class="qmtitle" >View</span></li>
        <?php echo taglinklineRounded('tv',       'TV') ?>
        <?php echo taglinklineRounded('video',    'Video') ?>
        <?php echo taglinklineRounded('movie',    'Movie') ?>
        <li><span class="qmdivider qmdividerx" ></span></li>
        <li><span class="qmtitle" >Read</span></li>
        <?php echo taglinklineRounded('book',     'Book') ?>
        <?php echo taglinklineRounded('writing',  'Writing') ?>
        <?php echo taglinklineRounded('news',     'News') ?>
        <li><span class="qmdivider qmdividerx" ></span></li>
        <li><span class="qmtitle" >Specific</span></li>
        <?php echo taglinklineRounded('scifi',    'Sci-Fi') ?>
        <?php echo taglinklineRounded('lost',     'LOST') ?>
        </ul></li>

Функция taglinklineRounded дает мне количество записей с этим тегом (но, очевидно, любой код можно выполнить в структуре меню).

При более динамичном подходе вы читаете категории /любой другой контент, который должен быть в меню, а не в примере с жестко закодированным "scifi"... замените его эхом заявление о результатах этой категории.

(также, конечно, так глубоко, как вы хотите, представлено в выбранном стиле).

Другая идея

Я думаю, вы даже можете объединить стандартное меню wp с динамическим меню, если некоторые части меню будут управляться пользователями, а другие - динамическими, объединив выходы в новом динамическом меню. Никогда с этим не играл.

 2
Author: edelwater, 2010-11-15 22:21:40

Вы хотите сказать, что вам нужна навигация типа хлебных крошек? Или перечислите все страницы, которые являются дочерними по отношению к текущей странице, что именно вы имеете в виду? Я делал много подобных вещей, так что у меня, вероятно, где-нибудь найдется кусок кода для этого.

 0
Author: PaulAdamDavis, 2010-09-30 09:43:10