Настраиваемое Поле — Добавить Изображение В Пункт Меню С Помощью Acf.

  • Автор темы Thedaybefore
  • Обновлено
  • 22, Oct 2024
  • #1

Пытаюсь добавить изображение в пункт меню, не получается.

Вот мой код.

 
 
 <div class="fixed-menu">

<ul>

<li class="active">

<a href="#">

<img src="img/fx-ic-1.png" alt="изображение">

<span>Главная</span>

</a>

</li>

etc...
 

// Header Side Menu function etm_side_menu() { register_nav_menu('side-menu',__( 'Header Side Menu' )); } add_action( 'init', 'etm_side_menu' ); add_filter('wp_nav_menu_objects', 'wp_nav_menu_objects', 10, 2); function wp_nav_menu_objects( $items, $args ) { // loop foreach( $items as &$item ) { // vars $icon = get_field('icon'); // append icon if( $icon ) { $item->title .= '<img src='.$icon.'>'; } } // return return $items; }

И вот function.php

<?php wp_nav_menu( array( 'theme_location' => 'side-menu', 'container_class' => 'fixed-menu', 'fallback_cb' => '', 'link_before' => '<span>', 'lnk_after' => '</span>', 'depth' => 2, 'walker' => new Understrap_WP_Bootstrap_Navwalker(), ) ); ?>

Изображения, которые должны появиться в меню, просто не появляются. Любая помощь будет оценена по достоинству.

Я использую тему Understrap.

Желаемая разметка такова

header.php

#настраиваемое поле #меню

Thedaybefore


Рег
13 Dec, 2011

Тем
69

Постов
169

Баллов
544
  • 25, Oct 2024
  • #2

 foreach( $items as &$item ) {

$icon = get_field( 'icon', $item );

// etc.
} 
 
gets the field for the current post in петля, но цикл не используется для пунктов меню, поэтому вам нужно указать, из какого сообщения вы хотите получить значение. В случае пунктов меню каждый пункт навигационного меню представляет собой WP_Post object, so you want to pass that:

get_field()
 

Владимир Мирный


Рег
25 Oct, 2020

Тем
73

Постов
221

Баллов
616
Тем
403,760
Комментарии
400,028
Опыт
2,418,908