WordPress показывает пункты подменю на индексной странице

#wordpress

#wordpress

Вопрос:

Я использую WordPress и на странице «sidebar.php «У меня есть следующий код:

 <?php wp_list_pages('post_type=wikiamp;depth=1'); ?>
  

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

Обновить:

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

Я использую плагин wp-wiki для отображения страниц как вики-страниц, но фактический список тот же, просто отображается как другой тип:

 post_type=wiki
  

Кто-нибудь может помочь, пожалуйста?

Спасибо

Ответ №1:

 <?php
   wp_list_pages('sort_column=menu_orderamp;title_li=amp;child_of='.$post->ID.'amp;depth=0');
?>
  

Комментарии:

1. Где примерно я могу использовать этот код в index.php пожалуйста? Вам нужен код индексной страницы?

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

3. Извините, это не работает. Я попытаюсь объяснить дальше: у меня есть 2 страницы: sidebar.php width имеет значения первого уровня LI и использует этот код:<li><?php wp_list_pages(‘post_type = wiki amp; depth = 1’); ?></ li> …. затем, когда я нажимаю на ссылку первого уровня в боковом меню, я хочу отобразить пункты подменю из этой конкретной нажатой ссылки на главном (index.php ) страница. Я использую плагин wp-wiki для отображения списка страниц. Надеюсь, это поможет. Спасибо

4. wp-wiki для отображения дочерних страниц? или на боковой панели? Я думаю, вам следует переписать вопрос, чтобы включить новую информацию.

5. Извините, я изо всех сил пытаюсь понять, что это не работает. Этот сайт работает?

Ответ №2:

Вы можете добиться этого несколькими способами. На самом деле в WordPress есть пример именно того, что вы хотите сделать в Кодексе. (ссылка — последний пример в этом разделе, прямо над заголовком «Перечислять подстраницы, даже если они находятся на подстранице»)

Однако есть несколько способов сделать это — это всего лишь один пример. Но этот код выше, вы просто заходите в свой sidebar.php файл. Вы также можете создать из него виджет. И, как кто-то еще упоминал, вы можете использовать новую систему меню для WordPress (но вы можете действительно сделать ее динамичной.) Но приведенный выше пример в Кодексе — самый простой метод.

На самом деле, более простым методом было бы просто перечислить все подстраницы и использовать CSS для скрытия и отображения дочерних элементов в зависимости от того, на какой странице вы находитесь. Классы уже настроены для вас. Просто просмотрите свой исходный код, и вы сможете это увидеть. Итак, вы бы сделали что-то вроде:

 `li ul.children {display:none; }
 li.current_page ul.children { display:block; }`
  

и их варианты.

Комментарии:

1. Извините, но ни один из них не работает. Может быть, это потому, что тип страницы должен быть wiki?

2. Я в это не верю. Вы должны просмотреть исходный код своей страницы, чтобы увидеть, какие фактические классы используются для CSS. но для wp_list_pages… далее на той странице, на которую я ссылался, рассказывается, как составить список страниц для пользовательского типа публикации. ( codex.wordpress.org/Function_Reference /… ) Вы можете использовать это в сочетании с функцией обнаружения дочерних страниц.

3. Другое дело… когда вы используете пользовательский тип записи, вы пишете сообщения и создаете категории, а не Страницы. wp_list_pages предназначен для страниц . Держу пари, мы указали вам неправильную вещь — вы хотите wp_list_categories(). Если у вас нет категорий (что часто бывает, по умолчанию люди, которые настраивают пользовательский тип записи, не настраивают пользовательские таксономии для него, поэтому у вас может их и не быть), тогда вы хотите иметь список записей / заголовков записей. Это то, что происходит? Потому что, если вы используете wp_list_pages и ваш пользовательский тип записи предназначен для сообщений, вы не получите списки страниц.

Ответ №3:

Как насчет использования новой функции меню в wp 3?
Таким образом, вы могли бы включить свой тип на любую нужную вам подстраницу (хотя она не будет динамической), а затем добавить свой любимый javascript или хороший css для отображения этих подстраниц.