我在 WordPress 网站上使用 fullpage.js,并且想使用它的功能之一,即在 li 上添加一个类。但要做到这一点,您需要添加数据属性 data-menunchor 。
我见过这个:
add_filter( 'nav_menu_link_attributes', 'my_nav_menu_attribs', 10, 3 );
function my_nav_menu_attribs( $atts, $item, $args )
{
// The ID of the target menu item
$menu_target = 113;
// inspect $item
if ($item->ID == $menu_target) {
$atts['data-menuanchor'] = 's1';
}
return $atts;
}
它可以工作,只是它将属性添加到 a 标记并需要它位于 li 标记上。
另外,如果我想对菜单上的所有项目执行此操作。我需要对所有项目执行此功能吗?我想我每次都必须重命名该函数?
Thanks
我不确定 WP 有专门的过滤器/方法。你将不得不做一些手动 DOM 操作wp_nav_menu_items
.
https://developer.wordpress.org/reference/hooks/wp_nav_menu_items/ https://developer.wordpress.org/reference/hooks/wp_nav_menu_items/
function addDataAttr( $items, $args ) {
$dom = new DOMDocument();
$dom->loadHTML($items);
$find = $dom->getElementsByTagName('li');
foreach ($find as $item ) :
$item->setAttribute('data-menuanchor','s1');
endforeach;
return $dom->saveHTML();
}
add_filter('wp_nav_menu_items', 'addDataAttr', 10, 2);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)