Intereting Posts
Как скрыть страницу sensitve от пауков google и non-membres в wordpress! Довольно URL-адреса для загрузки файлов? Раньше таблица стилей не перекрывалась позже Как заставить все сообщения комментировать по умолчанию? Вложения в настройках / обсуждения не сохраняются Существует ли (относительно простой!) Способ создания отношений между таксономиями БЕЗ необходимости публикации в качестве посредника Как передать пользовательский параметр WP_Query для фильтрации в pre_get_posts Ярлык клавиатуры для обновления страницы или сообщения? Пользовательский пост не показывает отображаемое изображение Как я могу посчитать сообщение, добавленное в поле отношений, отображение темы Получать сообщения из WP_Query и форматировать их на admin_head Изменение размеров изображений протекстинга: используйте «add_image_size ()» или «update_option ()»? Когда использовать цикл WordPress или цикл Foreach? Можно ли сохранить весь фрагмент визуализированного HTML в переходный период? Белый экран после обновления плагинов Запрос нескольких типов сообщений в SQL

Создание меню WordPress – не может понять конфигурацию

Я создал html-шаблон на основе bootstrap css и сейчас пытаюсь создать тему WordPress.

Создал мою собственную функцию меню для нее, которая в основном просто устанавливает конфигурацию по умолчанию для функции wp_nav_menu:

functions.php

<?php function pin_menu(){ $defaults = array( 'theme_location' => 'primary', 'menu' => 'nav-menu', 'container' => false, 'container_class' => '', 'container_id' => '', 'menu_class' => 'nav-collapse collapse pull-right', 'menu_id' => '', 'echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '', 'items_wrap' => false, 'depth' => 1, 'walker' => '' ); return wp_nav_menu( $defaults ); } ?> 

Все это выдает этот html:

 <div class="nav-collapse collapse pull-right"> <ul> <li class="page_item page-item-5"><a href="http://localhost/page5/">page5</a></li> <li class="page_item page-item-7"><a href="http://localhost/page7/">page5</a></li> <li class="page_item page-item-15"><a href="http://localhost/page15/">page15</a></li> <li class="page_item page-item-17"><a href="http://localhost/page17/">page17</a></li> <li class="page_item page-item-19"><a href="http://localhost/page19/">page19</a></li> </ul> </div> 

Я не могу понять, почему.

Если я прочитаю код: http://codex.wordpress.org/Function_Reference/wp_nav_menu

Затем я установил контейнер в false … но код выводит div с классами, которые я поставил для menu_class.

Он связывает ссылки с ul, хотя я установил items_wrap в false.

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

Но когда я устанавливаю items_wrap на <ul class="nav">%3$s</ul> то ничего не меняется …

Что бы было правильно, если я хочу это:

 <div class="nav-collapse collapse pull-right"> <ul class="nav"> <li class="page_item page-item-5"><a href="http://localhost/page5/">page5</a></li> <li class="page_item page-item-7"><a href="http://localhost/page7/">page5</a></li> <li class="page_item page-item-15"><a href="http://localhost/page15/">page15</a></li> <li class="page_item page-item-17"><a href="http://localhost/page17/">page17</a></li> <li class="page_item page-item-19"><a href="http://localhost/page19/">page19</a></li> </ul> </div> 

Спасибо Алану

Изменить: Codex также говорит, что если вы хотите удалить упаковку ul, вам нужно сделать что-то вроде:

 <?php wp_nav_menu( array( 'items_wrap' => '%3$s' ) ); ?> 

Извините, но установка items_wrap ничего не меняет, насколько я могу видеть.

Edit2: Хорошо, кажется, что нужно добавить слишком много статистики, я думаю. Если я сделаю именно это:

 <?php wp_nav_menu( array( 'items_wrap' => '%3$s' ) ); ?> 

Тогда это работает, но другие вещи не так, как я хочу. Поэтому, я думаю, я должен установить минимальное количество настроек, которое работает.

Edit3: Видимо, разные настройки где-то конфликтуют … Я получил то, что хотел, когда я изменил свои настройки на это:

 <?php function pin_menu(){ $settings = array( 'container' => 'div', 'container_class' => 'nav-collapse collapse pull-right', 'container_id' => '', 'menu_class' => '', 'menu_id' => '', 'echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '', 'items_wrap' => '<ul class="nav">%3$s</ul>', 'depth' => 1, 'walker' => '' ); return wp_nav_menu( $settings ); } ?> 

Solutions Collecting From Web of "Создание меню WordPress – не может понять конфигурацию"

Если вы установите опцию 'theme_location' => 'primary', вы должны быть уверены, что зарегистрировали это меню по коду в functions.php:

 register_nav_menu( 'primary', 'Primary Menu' ); 

И тогда вам нужно быть уверенным, что вы установите Основное меню в разделе «Тематические места» здесь: /wp-admin/nav-menus.php

В противном случае wordpress вызовет функцию возврата, которая является wp_page_menu с параметрами по умолчанию.

И если вы удалите опцию «theme_location», вы получите меню, которое вы установили в «menu» (в вашем случае меню с именем «nav-menu»). Если это меню не существует, WordPress отобразит первое созданное меню. Если вы не создали какое-либо пользовательское меню, WordPress вызовет резервную копию.