我正在尝试向菜单项添加图像,无法使其正常工作。
这是我的密码。header.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(),
)
); ?>
这是
function.php
// 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;
}
应该出现在菜单中的图像不会出现。任何帮助都将不胜感激。
我正在使用understrap主题。
所需的标记如下
<div class="fixed-menu">
<ul>
<li class="active">
<a href="#">
<img src="img/fx-ic-1.png" alt="img">
<span>Главная</span>
</a>
</li>
etc...
最合适的回答,由SO网友:Jacob Peattie 整理而成
get_field()
获取中当前帖子的字段the loop, 但是循环不用于菜单项,因此需要指定要从哪个帖子获取值。对于菜单项,每个nav菜单项都是WP_Post
对象,因此要传递该对象:
foreach( $items as &$item ) {
$icon = get_field( \'icon\', $item );
// etc.
}