我想向现有菜单项添加自定义类。问题是,我想这样做:
<li class="<?php echo get_post_meta($post->ID, "_icon", true); ?>">...</li>
<li class="<?php echo get_post_meta($post->ID, "_icon", true); ?>">...</li>
<li class="<?php echo get_post_meta($post->ID, "_icon", true); ?>">...</li>
或
<li><a class="<?php echo get_post_meta($post->ID, "_icon", true); ?>">...</a></li>
所以我为帖子和页面定制了一个元标记,它们应该是li或a元素的类。
我知道我必须使用定制助行器this article, 但我不知道如何将自定义元标记添加到$item\\u输出,这个示例添加了新菜单。
您好
最合适的回答,由SO网友:TheDeadMedic 整理而成
我有专门为您准备的过滤器:nav_menu_css_class
function wpse_175057_nav_menu_css_class( $classes, $item ) {
if ( $item->type === \'post_type\' && $class = get_post_meta( $item->object_id, \'_icon\', true ) )
$classes[] = $class;
return $classes;
}
add_filter( \'nav_menu_css_class\', \'wpse_175057_nav_menu_css_class\', 10, 2 );