You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为add_filter中$count值添加class='count'样式?

给导航菜单计数添加count类的实现方法

核心修改步骤

  1. 修改wp_nav_menu_objects过滤函数
    找到你已有的add_filter('wp_nav_menu_objects', ...)函数,把原本直接拼接的$count值,包裹在带count类的HTML标签(比如<span>)里即可。示例代码如下:
add_filter( 'wp_nav_menu_objects', 'add_menu_item_count_with_class' );
function add_menu_item_count_with_class( $items ) {
    foreach ( $items as $item ) {
        // 替换成你实际获取$count的逻辑(比如子菜单数量、自定义字段值等)
        $count = 5; // 示例计数,请替换为你的真实代码
        
        if ( $count ) {
            // 将计数包裹在带count类的span中,用wp_kses_post保证HTML安全
            $item->title .= wp_kses_post( '<span class="count">' . $count . '</span>' );
        }
    }
    return $items;
}
  1. 确保HTML不被自动转义
    WordPress默认会转义菜单标题的HTML,所以需要添加额外过滤允许标题中的合法HTML:
add_filter( 'nav_menu_item_title', 'allow_safe_html_in_menu_title', 10, 2 );
function allow_safe_html_in_menu_title( $title, $item ) {
    return wp_kses_post( $title );
}
  1. 应用你的CSS样式
    直接使用你准备好的CSS即可,比如:
.count {
    /* 你的自定义样式示例 */
    background: #e74c3c;
    color: #fff;
    padding: 2px 5px;
    border-radius: 8px;
    font-size: 0.75rem;
    margin-left: 4px;
}

内容的提问来源于stack exchange,提问作者futureyoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 15:50:24