где я могу найти файл в WordPress, который я могу редактировать в меню? - PullRequest
0 голосов
/ 10 декабря 2010

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

Я считаю, что это javascript:

 <?php wp_nav_menu( array('container' => '', 'container_class' => '', 'menu_class' => '', 'menu_id' => 'menuhead', 'sort_column' => 'menu_order', 'theme_location' => 'primary' ) ); ?>

Любая помощь будет здорово.

Сайт: http://svadsi.info/

Ответы [ 4 ]

2 голосов
/ 13 ноября 2013

Это немного мешает, не так ли?

Очевидно, что никто не читает настоящий вопрос здесь.

Вопрос был: где я могу найти файл в WordPress, который я могуредактировать меню?

НЕ подскажите, как это сделать.Итак, где вы найдете фактический код, который составляет меню по умолчанию в Wordpress?

В моей версии код находится в: nav-menu-template.php

1 голос
/ 10 декабря 2010

Вы хотите, чтобы ссылки на дочерние страницы появлялись только при показе родительской страницы?

Вы видели документы по функции? http://codex.wordpress.org/Function_Reference/wp_nav_menu

И учебник по использованию меню WP3: http://justintadlock.com/archives/2010/06/01/goodbye-headaches-hello-menus

1 голос
/ 10 декабря 2010

Код, который вы разместили, - это PHP, а не JavaScript.

Почему бы вам этого не добиться с помощью ненавязчивых обработчиков событий?

Не нужно трогать ужасный код WordPress: P

Обновление

Вот код, на который можно посмотреть.Если вы в чем-то не уверены, воспользуйтесь ключевым словом Google вместе с javascript.

Я чертовски уверен, что WordPress использует jQuery.

$(function() {

   $('#menu > li').hover(function() {
       $(this).find('ul').show();
   }, function() {
       $(this).find('ul')hide();
   };

});

Кроме того, зная JavaScript без библиотекипоможет вам в отладке и общем кодировании.

Этот код похож на jQuery.

window.onload = function() {
    var menu = document.getElementById('menu');

    var children = menu.childNodes;

    for (var i = 0, childrenLength = children.length; i < childrenLength; i++) {

       if (children[i].nodeType === 3) {
           continue;    
       }

       var subMenu = children[i].getElementsByTagName('ul')[0];

       children[i].onmouseover = function() {
           console.log('d');
           subMenu.style.display = 'block';
       }

       children[i].onmouseout = function() {
           subMenu.style.display = 'none';
       }

    }

}

Смотрите его на jsFiddle .

В качестве альтернативы, если вы правильно настроили свой HTML, вы можете сделать это только с помощью CSS.

#menu li ul {
   display: none;
}

#menu li:hover ul {
   display: block;
}
0 голосов
/ 10 декабря 2010

Теперь это может быть по-другому, но когда я разработал WordPress, вся навигация была в файле header.php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...