从wordpress获取标签名称

时间:2015-08-05 02:44:27

标签: php jquery html wordpress function

我想从列表项中获取label'name的值,并将其放入属性data-menuanchor =“”。

像这样:

 <li><a href="#home"> get this ==>Home<== get this </a></li>

       ==>   Place it here      <==
<li><a ==>data-menuanchor="Home"<== href="#Home">Home</a></li>

并为每个列表项执行此操作:

<li><a data-menuanchor="Home" href="#Home">Home</a></li>
<li><a data-menuanchor="Contacts" href="#Contacts">Contacts</a></li>
<li><a data-menuanchor="AboutUs" href="#AboutUs">AboutUs</a></li>

我已经有了一个我暂时感觉到的功能,但我必须手动添加每个部分,如下所示:

add_filter( 'nav_menu_link_attributes', 'my_nav_menu_attribs', 10, 4 );

function my_nav_menu_attribs( $atts, $item, $args )
{
 // The ID of the target menu item
 $Home = 18; //menu ul li ==> id target
 $Contacts = 17; 


// inspect $item

if ($item->ID == $Home) {
$atts['data-menuanchor'] = 'Home';
}

elseif ($item->ID == $Contacts) {
$atts['data-menuanchor'] = 'Contacts';
}
return $atts;
}

1 个答案:

答案 0 :(得分:1)

您可以使用.attr()设置属性值,并使用函数作为第二个参数,以便为每个锚点调用

但是你需要只定位菜单内的锚点,所以假设你有一个分配给ul的类(在下面的代码中假设mymenuclass是分配给ul的类)< / p>

$('.mymenuclass a').attr('data-menuanchor', function () {
    return $.trim($(this).text());
})