Добавление дополнительных аттрибутов в меню wp_nav_menu
Использую функцию wp_nav_menu() в HTML коде.
В li созданного меню хочу добавить аттрибуты data-duration="2s"
data-delay=".1s"
. Как это можно сделать ?
Использую функцию wp_nav_menu() в HTML коде.
В li созданного меню хочу добавить аттрибуты data-duration="2s"
data-delay=".1s"
. Как это можно сделать ?
https://wp-kama.ru/note/custom-wp_nav_menu-function
вам нужно использовать свой WALKER для меню.
Если не сможете разобраться - хотя там доступно написано - то напишите.
Я пока только скопировал код, но уже выводится такая ошибка:
Fatal error: Declaration of My_Walker_Nav_Menu::start_lvl(&$output, $depth) must be compatible with Walker_Nav_Menu::start_lvl(&$output, $depth = 0, $args = null) in C:\OpenServer\domains\acme\wp-content\themes\acme\inc1\walker.php on line 6
выше код проверил, локально работает. дата атрибут добавил.
Дальше - может быть логику вам поправить нужно будет.
В файле footer.php walker необходимо так подключать ?
'footer',
'menu' => '',
'container' => null,
'container_class' => '',
'container_id' => '',
'menu_class' => 'nav navbar-nav',
'walker' => new My_Walker_Nav_Menu()
)); ?>
Я так и сделал, но выдаются следующие ошибки:
Warning: Attempt to read property "before" on array in C:\OpenServer\domains\acme\wp-content\themes\acme\inc1\walker.php on line 114
Warning: Attempt to read property "link_before" on array in C:\OpenServer\domains\acme\wp-content\themes\acme\inc1\walker.php on line 116
Warning: Attempt to read property "link_after" on array in C:\OpenServer\domains\acme\wp-content\themes\acme\inc1\walker.php on line 116
Warning: Attempt to read property "after" on array in C:\OpenServer\domains\acme\wp-content\themes\acme\inc1\walker.php on line 118
Warning: Attempt to read property "before" on array in C:\OpenServer\domains\acme\wp-content\themes\acme\inc1\walker.php on line 114
и т. д.
В файл functions.php записана строка
require get_template_directory() . '/inc1/walker.php';
Это ведь тоже верно ?
это верно, если было бы не верно - то было бы fatal error
По поводу warning - смотрите переменные.
$args
она объект или массив
Если массив - то обращаться нужно как к елементу массива. а не объекта.
В коде везде написано, что $args An object of wp_nav_menu() arguments. Это означает, что
$args есть объект ?