Многоуровневая иерархия страниц
Большинство моих сайтов WordPress на сегодняшний день представляют собой контент блога, а также иерархию страниц 1 или 2 уровня.
Сейчас я рассматриваю разработку сайта с картой сайта клиента, предполагающей, что требуется иерархия из 4 уровней содержимого страницы. С точки зрения WordPress иерархию легко создать, но я рассматриваю способы обеспечения навигации в теме для этой иерархии страниц.
Одна вещь, которую я видел, - это плагин списка страниц, но не могу найти многое другое на эту тему. Мне было интересно, есть ли у кого-нибудь примеры или опыт, которые они могут предложить, как лучше всего обеспечить навигацию в теме для такой глубокой иерархии страниц, как эта?
РЕДАКТИРОВАТЬ - Чтобы уточнить, в настоящее время я не выбрал тип навигации, это часть вопроса. В иерархии страниц 2 уровня я обычно использую верхнюю навигацию для 1-го уровня, с выпадающим списком, показывающим 2-й уровень навигации
Это нелегко будет распространить на 4 уровня навигации (если только мы не перейдем к открытию нескольких меню, аналогичных меню типа кнопки "Пуск" Windows, или примеру menumatic в этой статье ).
Поэтому я рассматриваю, какие альтернативные подходы доступны, например, навигация верхнего уровня на верхней панели, а затем боковая панель, показывающая заголовки навигации 2-го уровня, с расширяемыми подразделами по мере перехода на 3-й и 4-й уровни. Например, смотрите раздел "В действии" в правом нижнем углу плагина "Список страниц". веб-страница
Однако вполне могут быть и другие хорошие подходы к этому, поэтому возникает вопрос, чтобы попытаться понять, как другие люди подходят к обеспечению навигации в WordPress по глубокой иерархии содержимого страницы
2 answers
Меню с нединамическим содержимым
- если структура меню исправлена, то вы можете создать фиксированное меню, используя "новую" систему меню wp (квадриллион сообщений в блоге об этом)
Меню с динамическим содержимым
-
Если структура меню не исправлена, вы можете:
А. попросите пользователей вручную поддерживать меню, например, после добавления новой категории
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 с динамическим меню, если некоторые части меню будут управляться пользователями, а другие - динамическими, объединив выходы в новом динамическом меню. Никогда с этим не играл.
Вы хотите сказать, что вам нужна навигация типа хлебных крошек? Или перечислите все страницы, которые являются дочерними по отношению к текущей странице, что именно вы имеете в виду? Я делал много подобных вещей, так что у меня, вероятно, где-нибудь найдется кусок кода для этого.