wp_nav_menu
Дозволяє змінити HTML-код меню навігації перед його виведенням на екран.
Зразковий вміст:
<div class="menu-moyo-menyu-container"> <ul id="menu-moyo-menyu" class="menu"> <li id="menu-item-265" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-265"> <a href="http://wp-test.ru/post-99">Зворотній зв'язок</a> </li> <li id="menu-item-266" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-266"> <a href="http://wp-test.ru/post-98">Всі статті</a> </li> <li id="menu-item-267" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-267"> <a href="http://wp-test.ru/post-97">Мапа сайту</a> </li> </ul> </div>
Використання
add_filter( 'wp_nav_menu', 'wp_kama_nav_menu_filter', 10, 2); /** * Function for `wp_nav_menu` filter-hook. * * @param string $nav_menu HTML вміст для navigation menu. * @param stdClass $args An object containing wp_nav_menu() arguments. * * @return string */ function wp_kama_nav_menu_filter( $nav_menu, $args ){ // Filter... return $nav_menu; }
-
$nav_menu
(рядок) - HTML вміст меню.
-
$args
(stdClass) -
Об’єкт із параметрами, переданими функції
wp_nav_menu() .
Приклади
#1 Обернемо все меню спеціальним контейнером
add_filter( 'wp_nav_menu', 'change_wp_nav_menu', 10, 2); function change_wp_nav_menu( $nav_menu, $args ) { return '<section class="menu-wrap">' . $nav_menu . '</section>'; }
список змін
З версії 3.0.0 | Введено. |
Де викликається хук
Де використовується хук у WordPress
wp-includes/class-wp-customize-nav-menus.php 1324
add_filter( 'wp_nav_menu', array( $this, 'filter_wp_nav_menu' ), 10, 2);