krisc
  • 0
Новичок

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

  • 0

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

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

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

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

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

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

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

Share
  1. Если вы думаете о проблемах с удобством использования, вы можете повторно задать этот вопрос на странице User Interface Stack Exchange. Если речь идет о технической стороне дела, я предлагаю вам изучить примеры новой системы меню, которая была включена в WordPress 3.

    • 0
  2. меню с нединамическим содержимым

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

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

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

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

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

      в. выберите другое меню «не-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 с динамическим меню, если определенные части меню управляются пользователями, а другие — динамически, путем объединения выходных данных в новое динамическое меню. Не играл с этим.

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

    • 0

Оставить ответ

You must login to add an answer.