WordPress: используйте Walker для определенного меню или избегайте использования Walker

Я пытаюсь решить конкретную проблему и не могу понять, какой путь лучше. Итак, у меня есть меню (созданное с помощью создателя меню WP), и я хотел бы использовать выделенное изображение каждой главы в качестве фонового изображения для соответствующего подменю. Вот что у меня сейчас:

/***** Images in main TOC ****/

add_filter( 'wp_nav_menu_objects','add_menu_images', 10, 2 );

function add_menu_images( $items, $args ) {

if ($args->menu == "Main_TOC") {
$img_array = array();
foreach ( $items as $item ) {
if (!$item->menu_item_parent) {
$img_url = get_the_post_thumbnail_url($item->object_id);
}
}
$args->items_wrap = '<ul id=%1$s class=%2$s style="background-image: url(' . $img_url . ')">%3$s</ul>';


} // end if main TOC

return $items;
}

Очевидно, что это не работает при наличии более чем одной главы — но я не знаю, как обернуть подменю вместо всего меню, не используя Walker, и если я использую Walker, я не знаю, как чтобы убедиться, что код применяется только к конкретному меню, так как совет, который я видел, кажется, всегда включает изменение того, как wp_nav_menu вызывается везде. Возможно ли, в рамках этой функции, указать меню «Main_TOC» (только) использовать пользовательский ходунки? Есть ли другие способы применить свойство background-image к подменю? (Получение и сопоставление изображений, вероятно, не было бы проблемой, я полагаю, что я бы использовал массивы, но я не знаю, как попасть в подменю для начала.) И если использование ходунка — единственное решение, и может применяться только к меню, для которого я хочу его использовать, каким должен быть код Уокера?

Спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector