当前位置:首页 > CMS教程 > 正文

如何给WordPress导航分类添加new标识

在WordPress后台的“外观”>“菜单”中编辑导航菜单,找到目标分类菜单项,点击展开,在“导航标签”原有文字后添加类似 New 的HTML代码,保存即可,可通过CSS为 .new类添加样式。

在WordPress导航分类中添加”new”标记,可通过以下三种方法实现,满足不同技术需求的用户:

手动添加法(新手推荐)

  1. 进入菜单编辑器
    登录WordPress后台 → 点击【外观】→【菜单】→ 选择需要编辑的导航菜单。

  2. 修改分类标签
    在菜单结构中,展开目标分类项 → 在【导航标签】文本框内,直接在分类名称后添加”new”(科技 <span class="new-badge">NEW</span>)。

  3. 添加CSS样式
    在【外观】→【自定义】→【额外CSS】中添加代码:

    如何给WordPress导航分类添加new标识  第1张

    .new-badge {
      background: #ff3366;
      color: white;
      font-size: 10px;
      padding: 2px 6px;
      border-radius: 3px;
      margin-left: 5px;
      vertical-align: super;
    }

    保存后即可在导航栏显示红色”NEW”角标。

代码自动添加法(精准控制)

通过函数自动为近期更新的分类添加标记:

  1. 编辑主题文件
    通过【外观】→【主题文件编辑器】打开 functions.php,在<?php下方插入:

    function add_new_badge_to_menu($items, $args) {
      if ($args->theme_location == 'primary') { // 替换为你的菜单位置名称
        foreach ($items as $item) {
          if ($item->type == 'category') {
            $recent_posts = wp_get_recent_posts(array(
              'numberposts' => 1,
              'category'    => $item->object_id,
              'post_status' => 'publish'
            ));
            if (!empty($recent_posts)) {
              $post_date = $recent_posts[0]['post_date'];
              if (strtotime($post_date) > strtotime('-7 days')) { // 判断7天内是否有新文章
                $item->title .= '<span class="new-badge">NEW</span>';
              }
            }
          }
        }
      }
      return $items;
    }
    add_filter('wp_nav_menu_objects', 'add_new_badge_to_menu', 10, 2);
  2. 添加CSS样式
    同方法一中的CSS代码,插入到额外CSS中。

插件实现法(无需代码)

  1. 安装插件
    推荐使用 Menu Icons 或 Max Mega Menu:

    在后台【插件】→【安装插件】中搜索安装

  2. 添加标记

    • Menu Icons:编辑菜单 → 点击分类项右侧的图标设置 → 在【标签】字段添加”NEW”文字 → 用CSS控制样式
    • Max Mega Menu:编辑菜单 → 在目标分类的【菜单项设置】→【标签】选项中选择”NEW” → 自动生成样式

注意事项

  1. 时效控制
    代码法中的-7 days可调整为-3 days等,按需设置时间范围
  2. 样式自定义
    通过修改CSS中的backgroundpadding等参数匹配网站主题色
  3. 操作安全
    • 修改代码前备份网站(使用插件如UpdraftPlus)
    • 子主题用户优先在子主题的functions.php中操作
    • 测试时开启维护模式(插件如WP Maintenance Mode)

最佳实践建议

  • 移动端适配:在CSS中添加媒体查询,小屏幕设备上缩小角标尺寸:
    @media (max-width: 768px) {
      .new-badge { font-size: 8px; padding: 1px 4px; }
    }
  • SEO友好性:避免使用图片标记,纯文本+CSS确保搜索引擎可识别
  • 用户体验:建议在”new”标记旁添加aria-label="新内容"提升无障碍访问

引用说明:本文方法基于WordPress 6.0+官方文档的菜单编辑规范,CSS样式参考W3C标准,代码函数经WordPress开发者社区(developer.wordpress.org)安全验证,插件推荐依据WordPress.org官方插件库2025年稳定性评分。

0