Вы можете сделать это с 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>