我有一个正在尝试构建的WordPress模板, 但似乎无法弄清楚如何插入WordPress输出的菜单并向该菜单的<
li>
标签添加自定义属性。当前菜单输出如下:
<
ul id="menu-main-menu-1" class="top-bar-menu right">
<
li class="divider">
<
/li>
<
li class="menu-item ">
<
a href="http://www.srcmini.com/#home">
Home<
/a>
<
/li>
<
li class="divider">
<
/li>
<
li class="menu-item">
<
a href="http://www.srcmini.com/#about">
About<
/a>
<
/li>
<
li class="divider">
<
/li>
<
li class="menu-item">
<
a href="http://www.srcmini.com/#work">
My Work<
/a>
<
/li>
<
li class="divider">
<
/li>
<
li class="menu-item">
<
a href="http://www.srcmini.com/#contact">
Contact<
/a>
<
/li>
<
/ul>
(这些链接仅用于示例)
【WordPress过滤器可以挂接到菜单li项并添加自定义属性】我需要WordPress自动将以下属性添加到< li> 标签:data-magellan-arrival =” [target]” 。
需要通过菜单项对应的page_ID自动填充[Target]。例如, 假设第一个的< li> < a href=http://www.srcmini.com/” ” > [PAGE] < /a> < / li> 链接为Home, 而Home的page_ID为” 21″ (示例)。我需要将< li> 内的data-magellan-arrival =” [target]” 设置为data-magellan-arrival =” 21″ 。
因此它看起来像:< li class =” menu-item” data-magellan-arrival =” 21″ > < a href=http://www.srcmini.com/” ” > [PAGE] < /a> < / li>
老实说, 我对PHP的了解还不是很好, 而WordPress过滤器/钩子要少得多。希望有人可以指引我正确的方向或向我展示如何做到。
谢谢!
#1这应该工作:
//add to functions.php
add_filter('nav_menu_link_attributes', 'magellanlinkfilter');
function magellanlinkfilter($val)
{
$postid = url_to_postid( $val['href'] );
$val['data-magellan-arrival'] = $postid;
return $val;
}
这是钩子的完整列表:http://adambrown.info/p/wp_hooks
推荐阅读
- WordPress通过元数据和搜索Heirachy筛选自定义帖子类型
- Linux安装MySQL步骤
- Kubernetes官方java客户端之五(proto基本操作)
- 执行shell脚本的三种方式
- es常用查询语法 #yyds干货盘点#
- #yyds干货盘点# 简简单单实现 Python Web 的登录注册页面,还包含一半逻辑。
- 小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
- 小程序云开发提醒欠费解决方案
- 1分钟部署一个属于自己的网站,借助云开发静态网站部署属于自己的网站,部署vue静态网站