Допустим, мы показываем несколько генеалогических деревьев. В настоящее время мы находимся на главной странице генеалогического древа, и нам нужно, чтобы наш список выглядел так:
Семейные деревья
- Кузнецы
- Джонсы
- Делает
Когда пользователь щелкает Smiths, мы хотим, чтобы список выглядел так:
Кузнецы
- Кузнецы
- Дэйв
- Стив
- Долли
- Джонсы
- Делает
И когда пользователь нажимает на Стива, мы хотим, чтобы список также выглядел так:
Дэйв Смит
- Кузнецы
- Дэйв
- Стив
- Долли
- Джонсы
- Делает
Итак, нам нужно отобразить список всех подстраниц и одноуровневых элементов текущей страницы, а также всех одноуровневых элементов каждого шага в иерархии.
Есть идеи?
Привет , @Джозеф Кэррингтон. Что это за сообщения? Это страницы или пользовательские типы сообщений? Кроме того, хотите ли вы загружать все данные при загрузке страницы и использовать jQuery+CSS для отображения тех, которые вам нужны, или вы хотите использовать jQuery+AJAX для загрузки подстраниц по запросу? (Если у вас их много, последнее может быть вашим единственным жизнеспособным вариантом.)
Ну, в идеале я бы использовал PHP и как можно больше встроенных функций WP. Я вообще не вижу необходимости задействовать javascript.
Извините, почему-то я не увидел вашего ответа. На будущее, это потому, что вы не ответили мне, поэтому сайт никогда не уведомлял меня о вашем комментарии. Можете ли вы ответить, что представляют собой различные пункты меню; Страницы или пользовательские типы сообщений, категории, теги и т. д.?
То, что вы пишете, напомнило мне какой-то плагин/виджет, о котором я знаю. Это связано с веб-дизайном Silo, а плагин — это плагин Silo Widgets для WordPress. В SemPro вы можете использовать встроенные виджеты, чтобы отображать что-то подобное в сообщениях.
Это был довольно приличный плагин для отображения гибкого списка страниц, когда я пробовал его в прошлый раз (сам в этом не нуждался)..
http://wordpress.org/extend/plugins/flexi-pages-widget/
Во всяком случае, вы можете обратиться к этому плагину за некоторыми идеями и вдохновением о том, как с этим справиться.
Мне действительно пришлось сделать это один раз. Вы можете сделать это без плагина и без javascript. Возможно, вам придется немного настроить его, чтобы он работал именно так, как вам нужно, но он должен дать вам правильное представление; отображение родительских страниц и их дочерних и т. д.
Вот учебник, который я использовал: http://www.svennerberg.com/2009/02/creating-a-submenu-in-wordpress/
Забудьте о плагинах, у меня была та же проблема, и плагины создали целую кучу беспорядка и слишком много вызовов БД.
Этот код сделает все за вас — для простоты использования поместите его в часть содержимого и включите следующим образом:
Проблема в том, что вы уже знаете своих детей и своих родителей. Я попытался использовать функцию wp-list-pages с параметром echo равным false и включая идентификаторы, но это немного запутало. Это решение не идеально, но оно намного чище, чем использование плагина или двух.
В двух словах — вам нужен абсолютный верхний родительский идентификатор, затем вы хотите получить всех дочерних элементов текущих предков сообщений:
Этот код также добавляет класс «выбранный» к текущему сообщению и «родительский» к текущему родительскому сообщению в списке.
Надеюсь, это поможет кому-то!