Приветствую!
Через ACF добавляю в каждый пункт кастомного меню поле с изображением.
<li class="menu__item"> // В каждом пункте хранится ACF поле - объект картинки.
<a class="menu__link">Any link</a>
</li>
Задача такая, нужно брать из пунка меню
<li>
ACF field - в данном случае изображение в виде объекта, беру из объекта
ссылку и
альт, и эти данные нужно вставить в ссылку
<a>
data-атрибутами.
$menu_name = 'tab-menu';
$locations = get_nav_menu_locations();
if( $locations && isset( $locations[ $menu_name ] ) ) {
$menu_items = wp_get_nav_menu_items( $locations[ $menu_name ] );
foreach( $menu_items as &$menu_item ) {
$field = get_field('tab-menu-image', $menu_item);
var_dump($field['url']);
var_dump($field['alt']);
}
}
Я эти атрибуты получаю с каждого пункта
<li>
кастомного меню.
Как мне эти данные записать в соответствующую ссылку в
data-атрибуты?
Как изменить каждый пункт меню?
add_filter( 'wp_nav_menu_objects', 'filter_wp_nav_menu_objects', 10, 2 );
function filter_wp_nav_menu_objects( $items, $args ) {
if (
$args->theme_location == 'tab-menu' ||
$args->theme_location == 'materials-menu' ||
$args->theme_location == 'septics-menu'
) {
foreach ( $items as $item ) {
$field = get_field('tab-menu-image', $item);
$item = // Как менять каждый пункт меню - её html структуру?
}
return $items;
}
Должно получится:
<li class="menu__item">
<a class="menu__link" data-image="Какая-то ссылка" data-alt="Какой-то альт">Any link</a>
</li>