返回列表 发布新帖
查看: 43|回复: 0

[代码技巧] 子比主题 – 导航栏菜单显示分类文章数量

[复制链接]
SunJu_FaceMall
社区贡献

315

主题

190

回帖

1万

积分

等级头衔
Icon组别 : 管理员
Icon等级 :

积分成就
   钻石 : 524 颗
   贡献 : 1457 点
   金币 : 12 枚
Icon在线时间 : 1294 小时
Icon注册时间 : 2024-11-22
Icon最后登录 : 2025-10-29

荣誉勋章

会员LV.1会员LV.2会员LV.3会员LV.4会员LV.5会员LV.6会员LV.7会员LV.8会员LV.9会员LV.10

风云·优秀版主

飞流名人堂成员

1

实名认证 手机认证 vip vip-year FLLTCN发表于 2025-10-8 20:13:57 | 查看全部 |阅读模式 浙江金华

资源无需等待,交易就趁现在,全面资源整合网络大咖云集,让你轻松玩转互联网!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
给子比主题美化并设置导航栏菜单,特别展示如何添加并更新今日更新文章数量的显示功能,让你的网站导航更加动态与吸引用户,喜欢的自行部署,这款我改了一些代码,很多站都是搬运的,都是(数量)这种篇文章显示
tengfei_down (29).webp
[h1]代码部署[/h1]
func代码
我们到:/wp-content/themes/zibll/func.php里面,没有这个文件自己创一个,记得加上php头,要不然报错,将下面的代码放到里面
  1. class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
  2.     // 开始输出每个菜单项
  3.     function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {
  4.         // 和默认 Walker 一样处理元素的基础部分
  5.         $classes = empty($item->classes) ? array() : (array) $item->classes;
  6.         $class_names = join(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item));
  7.         $class_names = $class_names ? ' class="' . esc_attr($class_names) . '"' : '';

  8.         $id = apply_filters('nav_menu_item_id', 'menu-item-'. $item->ID, $item);
  9.         $id = $id ? ' id="' . esc_attr($id) . '"' : '';

  10.         $output .= '<li' . $id . $class_names .'>';

  11.         $atts = array();
  12.         $atts['title']  = ! empty( $item->attr_title ) ? $item->attr_title : '';
  13.         $atts['target'] = ! empty( $item->target )     ? $item->target     : '';
  14.         $atts['rel']    = ! empty( $item->xfn )        ? $item->xfn        : '';
  15.         $atts['href']   = ! empty( $item->url )        ? $item->url        : '';

  16.         $atts = apply_filters('nav_menu_link_attributes', $atts, $item, $args);

  17.         $attributes = '';
  18.         foreach ( $atts as $attr => $value ) {
  19.             if ( ! empty( $value ) ) {
  20.                 $value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
  21.                 $attributes .= ' ' . $attr . '="' . $value . '"';
  22.             }
  23.         }

  24.         $item_output = $args->before;
  25.         $item_output .= '<a'. $attributes .'>';
  26.         $item_output .= $args->link_before . apply_filters('the_title', $item->title, $item->ID) . $args->link_after;

  27.         // 添加分类项的文章数量
  28.         if ($item->object == 'category') {
  29.             $category_id = $item->object_id;
  30.             $category = get_category($category_id);
  31.             if ($category) {
  32.                 $count = $category->count;
  33.                 // 修改部分:将文章数量显示为 <badge> 标签
  34.                 $item_output .= ' <badge class="jb-red badge-bw">+' . $count . '</badge>';
  35.             }
  36.         }

  37.         $item_output .= '</a>';
  38.         $item_output .= $args->after;

  39.         $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
  40.     }
  41. }
复制代码

zib-header.php代码
我们到:/wp-content/themes/zibll/func.php里面,没有这个文件自己创一个,记得加上php头,要不然报错,将下面的代码放到里面
  1. class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
  2.     // 开始输出每个菜单项
  3.     function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {
  4.         // 和默认 Walker 一样处理元素的基础部分
  5.         $classes = empty($item->classes) ? array() : (array) $item->classes;
  6.         $class_names = join(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item));
  7.         $class_names = $class_names ? ' class="' . esc_attr($class_names) . '"' : '';

  8.         $id = apply_filters('nav_menu_item_id', 'menu-item-'. $item->ID, $item);
  9.         $id = $id ? ' id="' . esc_attr($id) . '"' : '';

  10.         $output .= '<li' . $id . $class_names .'>';

  11.         $atts = array();
  12.         $atts['title']  = ! empty( $item->attr_title ) ? $item->attr_title : '';
  13.         $atts['target'] = ! empty( $item->target )     ? $item->target     : '';
  14.         $atts['rel']    = ! empty( $item->xfn )        ? $item->xfn        : '';
  15.         $atts['href']   = ! empty( $item->url )        ? $item->url        : '';

  16.         $atts = apply_filters('nav_menu_link_attributes', $atts, $item, $args);

  17.         $attributes = '';
  18.         foreach ( $atts as $attr => $value ) {
  19.             if ( ! empty( $value ) ) {
  20.                 $value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
  21.                 $attributes .= ' ' . $attr . '="' . $value . '"';
  22.             }
  23.         }

  24.         $item_output = $args->before;
  25.         $item_output .= '<a'. $attributes .'>';
  26.         $item_output .= $args->link_before . apply_filters('the_title', $item->title, $item->ID) . $args->link_after;

  27.         // 添加分类项的文章数量
  28.         if ($item->object == 'category') {
  29.             $category_id = $item->object_id;
  30.             $category = get_category($category_id);
  31.             if ($category) {
  32.                 $count = $category->count;
  33.                 // 修改部分:将文章数量显示为 <badge> 标签
  34.                 $item_output .= ' <badge class="jb-red badge-bw">+' . $count . '</badge>';
  35.             }
  36.         }

  37.         $item_output .= '</a>';
  38.         $item_output .= $args->after;

  39.         $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
  40.     }
  41. }
复制代码

本帖被以下淘专辑推荐:

路虽远,行则将至;事虽难,做则必成。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

飞流广播+ 发布

系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
10-30 17:02
系统消息:柒沐已经连续答对10道难题,逆天学霸谁与争锋?!#每日答题#
10-09 09:07
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
09-24 09:00
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
09-11 11:40
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
09-02 09:17
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
08-27 08:56
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
08-20 15:12
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
08-03 10:22
系统消息:柒沐已经连续答对10道难题,逆天学霸谁与争锋?!#每日答题#
06-30 08:57
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
06-18 09:14
系统消息:清风网络已经连续答对10道难题,逆天学霸谁与争锋?!#每日答题#
04-11 09:40
系统消息:清风网络已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
04-10 09:31
系统消息:IXM77777已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
04-09 13:44
系统消息:清风网络已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
04-09 09:22
系统消息:柒沐已经连续答对10道难题,逆天学霸谁与争锋?!#每日答题#
04-09 08:52
系统消息:清风网络已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
04-08 09:24
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
04-07 09:02
系统消息:柒沐已经连续答对10道难题,逆天学霸谁与争锋?!#每日答题#
02-27 09:35
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
02-26 09:06
系统消息:柒沐已经连续答对3道难题,逆天学霸谁与争锋?!#每日答题#
02-25 08:49
站内通告

提供资源交易、信息共享、靓号交流、技术变现、学习问答、兴趣娱乐等全面服务。

1.丰富功能系统,扩展社区特色玩法,打造最好的互联网聚集圈子。

2.准确信息真实交易,安全快捷又方便,让虚拟交易面对面。

3. 天上不会掉馅饼,话术骗术迷人心,切勿脱离平台线下交易,被骗与平台无关!

4. 欺诈骗钱,违规违法将视情受到警告&禁言&封号甚至检举至👮🏻‍♀️处理!

官方Q群:123129钉推群:BAYR2383 站长QQ:3220000000

投诉/建议/商务合作联系

fl@fllt.cn

严禁私下交易,被骗与本站无关。
违反交易细则,取证立查严惩。
  • 钉钉新帖推送群
  • 官方交流QQ群
  • 站长唯一微信号

👮曝光Ta|🧿小黑屋|📴手机页|飞流网 ( 渝ICP备2025054677号-1|电信增值许可 渝B2-20250789 )|网站地图

GMT+8, 2025-11-8 11:58 , Processed in 0.085736 second(s), 62 queries, MemCached On , Gzip On.

Based on XJ-TX X3.5 Licensed

飞流论坛 HanAnalytics icp Astro vhAstro-Theme

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表