我试图找到一种方法,根据页面中元键的值来更改不同导航菜单项的类。
当前菜单如下所示:
<li class="menu-item-1">Menu item 1</li>
<li class="menu-item-2">Menu item 2</li>
<li class="menu-item-3">Menu item 3</li>
<li class="menu-item-4">Menu item 4</li>
<li class="menu-item-5">Menu item 5</li>
使用自定义键,我想从每个页面中提取单个键,并将它们作为类放入相应的菜单项中,如:<li class="menu-item-1 pink">Menu item 1</li>
<li class="menu-item-2 yellow">Menu item 2</li>
<li class="menu-item-3 green">Menu item 3</li>
<li class="menu-item-4 pink">Menu item 4</li>
<li class="menu-item-5 bordeaux">Menu item 5</li>
到目前为止,我得到的是:add_filter(\'nav_menu_css_class\' , \'special_nav_class\' , 10 , 2);
function special_nav_class($classes, $item){
global $post;
$colorcode = get_post_meta($post->ID, \'color_dropdown\', true);
if(is_page()) {
$classes[] = $colorcode;
}
return $classes;
}
它所做的是将元键添加到类中,但仅在访问指定了元键值的页面时,然后将其添加到所有菜单项中,这是不对的。我无法使用CSS类功能手动返回菜单编辑器。用户将无法访问该区域,在实际页面编辑模式下,用户可以通过metabox下拉菜单设置不同的类,这一点至关重要。
我拉扯头发有一段时间了,但我似乎无法让它工作,这是不可能的吗?
EDIT: UPDATED MY QUESTION