2011-03-30 35 views
1

,我使用wp_nav_menu()函数获取菜单。它将以下列形式列出菜单。wordpress wp_nav_menu - 在wordpress中添加名称属性到<a>

<ul> 
    <li><a href="url">AA</a></li> 
    <li><a href="url">BB</a></li> 
    <li><a href="url">CC</a></li> 
</ul> 

我想添加一个属性标记。我想以下面的形式。

<a href="url" name="aa">AA</li> 
<a href="url" name="bb">BB</li> 
<a href="url" name="cc">CC</li> 

name属性的值应等于链接文本,但小写。即菜单文本是AA然后name财产应该有一个

+0

你可以手动添加你想添加的课程 http://stackoverflow.com/questions/14464505 /如何到添加丽使用-WP-导航菜单功能于WordPress的类在-/ 17190283#17190283 – 2013-09-27 20:45:52

回答

1

你可以用Wordpress Walkers做到这一点。起初它们可能有点棘手,但非常强大。这是一个粗略的实现,你可能需要改进它。

首先,你Walker_Nav_Menu扩大到您的需求:

class my_nav_menu extends Walker_Nav_Menu 
     { 
      function start_el(&$output, $item, $depth, $args) 
      { 
       $output .= '<li><a href="' . get_post_link($item->ID) . '" name="' . $item->post_name .'" >'; 
       $output .= apply_filters('the_title', $item->post_title, $item->ID) ; 
       $output .= '</a></li>'; 
      } 
     } 

然后你通过类的实例来wp_nav_menu:

wp_nav_menu(array('container_class' => 'menu-header', 'theme_location' => 'primary' , 'walker' => new my_nav_menu())); 

这将输出菜单内容是这样的:

<li><a name="test-page" href="http://mydomain.foo/?page_id=1">Test Page</a></li> 
相关问题