从自定义元向现有菜单项添加自定义类

时间:2015-01-16 作者:user4011723

我想向现有菜单项添加自定义类。问题是,我想这样做:

<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输出,这个示例添加了新菜单。

您好

1 个回复
最合适的回答,由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 );

结束

相关推荐

Next_Posts_link();&Precision_Posts_link();工作不正常

我正在创建一个wordpress主题,其中有一个名为“的页面”blog“这将显示我所有最新的博客帖子。在这里,我每页仅显示5篇帖子,我希望在第一页中只显示”Newer“链接,在第二页中,它将显示“旧”和“新”链接,并且”Older“上一页上的链接如this. 在这里,我使用以下代码来完成我的任务,但它并没有按预期工作。这是我在中使用的函数functions.php 更改自定义帖子类型“blog“。但这也不起作用,它显示没有帖子,而不是我在这里设置的5个帖子。// ---------------------