WordPress过滤器可以挂接到菜单li项并添加自定义属性

我有一个正在尝试构建的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

    推荐阅读