萨龙网络
登录
首页-WordPress文章-WordPress-正文

WordPress 添加菜单项目描述

萨龙龙萨龙龙
WordPress
7年前
0
0
1.45W
WordPress 能够在自定义菜单中存储每个菜单项的描述,默认情况下,这些描述不会显示在前端菜单中,需要为相应的菜单增加显示描述的功能。

一、显示菜单图像描述选项

默认情况下,WordPress 隐藏描述输入字段,在后台外观——菜单页面上,单击屏幕右上角『显示选项』选项卡,在『显示高级菜单属性』中确保勾选『图像描述』复选框。 WordPress 添加菜单项目描述 现在,对于菜单编辑器中的每个菜单项,都有一个图像描述的输入框。

二、显示描述

网上有很多教程解释如何使用自定义walker类来遍历菜单并自定义输出。但是,我真的希望不必重新创建整个类,只需要为每个菜单项添加描述。
function prefix_nav_description( $item_output, $item, $depth, $args ) {
    if ( !empty( $item->description ) ) {
        $item_output = str_replace( $args->link_after . '', '' . $item->description . '' . $args->link_after . '', $item_output );
    }
    return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'prefix_nav_description', 10, 4 );
我们将函数添加到walker_nav_menu_start_el过滤器中,此过滤器将四个参数传递给我们的函数。
  • $item_output :string——菜单项的开始输出HTML标签
  • $item:object——菜单项数据对象
  • $depth:int——菜单项的深度,用于填充
  • $args:array——wp_nav_menu() 数组的参数
首先,我们检查当前菜单项是否存在描述,如果有,我们使用str_replace()函数将描述插入到链接中,将描述放在主链接文本之后。 更改描述放置 现在假设我们要将描述放在主链接文本之前而不是之后。为此,我们需要修改对str_replace()函数的调用。之前,这是我们要修改的字符串:
$args->link_after . ''
我们使用str_replace()来替换这个文本字符串:
'' . $item->description . '' . $args->link_after . ''
要将描述放在主链接文本之前,我们需要替换字符串的这一部分:
'">' . $args->link_before . $item->title
我们要用以下内容替换它的内容:
$args->link_before . '' . $item->description . '' . $item->title
所以我们的新函数代码如下(只有$item_output行已更改):
function prefix_nav_description( $item_output, $item, $depth, $args ) {
    if ( !empty( $item->description ) ) {
        $item_output = str_replace( '">' . $args->link_before . $item->title, '">' . $args->link_before . '' . $item->description . '' . $item->title, $item_output );
    }
    return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'prefix_nav_description', 10, 4 );
原文地址:https://themefoundation.com/menu-item-descriptions/
标签:
本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wordpress-menu-item-descriptions.html
萨龙龙

萨龙龙

侠客
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!
1352.34M457.13W4.42W
加载中…
分享:
使用 wp_add_inline_script 函数向 WordPress 站点输出脚本
使用 wp_add_inline_script 函数向 WordPress 站点输出脚本上一篇
让 WordPress 菜单图像描述支持 HTML 标签下一篇
让 WordPress 菜单图像描述支持 HTML 标签
相关文章
总数:108

自定义WooCommerce产品文章hook顺序

最近在做一款企业产品展示的商城网站,设计WooCommerce产品文章的布局与默认的布局有很大的不同,所以其中的一些模块都需要重新调整。WooC…
萨龙龙萨龙龙
WooCommerce
9年前
0
0
1.50W
0

WordPress判断文章分页第一页和最后一页

Perimg主题,最近开发的一个图片主题,与之前开发的主题又有很多的进步,以及更多的、少见的实用功能。主题文章中如果是多页就会显示上下篇、上下页…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.23W
0

WordPress批量替换自定义域名称

WordPress自定义的强大不言而喻,很多主题都在使用,也为其创建了可视化的选项面板,用户使用都相当的直观、方便。萨龙网络新开发的LensNe…
萨龙龙萨龙龙
WordPress
9年前
0
0
9.80K
0

解决网站嵌入优酷视频堆叠顺序的问题

很多网站都会插入优酷或其它网站的在线视频到自己的网站中,默认情况下优酷视频的堆叠顺序并不受CSS样式z-index属性的影响,在视频页面有滚动、…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.35W
0

AMH面板安装配置redis加速WordPress站点

Redis是一个开源、支持网络、基于内存的key-value存储系统,类似memcached,性能极高,支持超过100K+每秒的读写频率,一些…
萨龙龙萨龙龙
WordPress, 软件系统
10年前
0
0
2.65W
0

WordPress MU多站点从子域名转子目录

使用WordPressMU多站点来管理所有的站点确实很方便,可以省去很多重复的工作,节省资源。萨龙网络使用MU多站点已经很久,已经爱不释手,也…
萨龙龙萨龙龙
WordPress
10年前
0
0
2.50W
0

WordPress前台登录函数wp_login_form的用法

网站开放注册的站点都会添加一个前台登录与注册的表单或页面,这样方便用户登录站点,同时也保证网站后台的安全性。今天我们来介绍前台登录函数wp_lo…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.99W
0

WooCommerce为购物车和结算添加附加费 – 使用费用API

为所有交易添加基于百分比的附加费 /** *添加1%的附加费到你的购物车和结算页面 *更改百分比以将附加费设置为适合的…
萨龙龙萨龙龙
WooCommerce
6年前
0
0
1.19W
0

WordPress强大的开源后台框架Redux Framework介绍与使用

开发一个WP主题有了前端页面设计的美观与布局外,后台选项也是相当重要的一个组成部分,好的后台框架在使用主题时方便快捷的设置各个功能,也让主题开发…
萨龙龙萨龙龙
WordPress
10年前
0
0
2.40W
0

WordPress 获取用户 ID 的8种方法

在WordPress主题的开发过程中,获取用户ID的频率是很高的,可在WordPress中查看用户信息,也可以通过代码直接获取。 …
萨龙龙萨龙龙
WordPress
4年前
0
0
5.08W
0

WordPress获取不同用户、类型文章和自定义字段下的文章数量

萨龙网络开发的MNews主题中,集成了个人中心功能,需要获取文章、视频、下载、专题和商城的文章数量,这个是比较简单,使用wp_count_p…
萨龙龙萨龙龙
WordPress
7年前
0
0
1.10W
0

WordPress MU多站点网络克隆新站点插件Multisite Cloner

WordpressMU多站点已经使用很久,在本地测试和主机上安装的都是多站点,极大的方便网站搭建以及主题开发。当我们有多个站点,需要创建的新站…
萨龙龙萨龙龙
WordPress
10年前
0
0
2.03W
0
评论表单游客 您好,欢迎参与讨论。
加载中…
评论列表
总数:0
萨龙网络
没有相关内容