Допустим имеется два меню: menu 1
и menu 2
, созданные в админке Внешний вид - Меню
Как можно через дочернюю тему на разных страницах вывести эти меню?
т.е. чтобы на одной странице было menu 1
, а на другой menu 2
нужно это сделать именно через дочернюю тему.
Можно ли это как-то сделать через хук pre_wp_nav_menu
?
по умолчанию выбрано меню menu 1
, и нужно допустим в условии проверить ID страницы, и вывести меню menu 2
Надо использовать другой фильтр - wp_get_nav_menu_object
. Рабочий код:
/**
* Filters the nav_menu term retrieved for wp_get_nav_menu_object().
*
* @param WP_Term|false $menu_obj Term from nav_menu taxonomy, or false if nothing had been found.
* @param int|string|WP_Term $menu The menu ID, slug, name, or object passed to wp_get_nav_menu_object().
*
* @return false|WP_Term
*/
function wp_get_nav_menu_object_filter( $menu_obj, $menu ) {
if ( $menu_obj && is_page( 'so892534' ) ) {
remove_filter( 'wp_get_nav_menu_object', 'wp_get_nav_menu_object_filter', 10, 2 );
$menu_obj = wp_get_nav_menu_object( 'menu-so892534' );
return $menu_obj;
}
return $menu_obj;
}
add_filter( 'wp_get_nav_menu_object', 'wp_get_nav_menu_object_filter', 10, 2 );
Замените в этом примере слаг страницы so892534
и её меню menu-so892534
.
Результат можно посмотреть на странице тестового сайта http://test.kagg.eu/so892534/.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста как правильно загрузить фото с React, так как приходит только имя файла, а не сам файл