2011-10-26 18 views
5

私はこのような何か... wp_nav_menuによって構築されている私のメニューにタイトルを追加する必要があります。私はそれが奇妙な、これがデフォルトで含まれていないことがわかりwp_nav_menuを使用してulの前にタイトルを追加するにはどうすればよいですか?

<div class="container"> 
    <div class="title">My Menu Title</div> 
    <ul class="menu"> 
    <li class="item"><a href="#">Item 1</a></li> 
    <li class="item"><a href="#">Item 2</a></li> 
    <li class="item"><a href="#">Item 3</a></li> 
    </ul> 
</div> 

:S

答えて

6

これはあなたのために働くはずです!

wp_nav_menu(
    array(
    'items_wrap' => '<div class="title">Your menu title</div><ul class="%2$s">%3$s</ul>' 
) 
); 
+1

!ありがとう:D – SomethingOn

2

これは少し壊れたオプションのように思える、私はワードプレスのコーデックスのガイドに続いて、リンク推奨ガイド、そして毎回、items_wrapは、全く何もしなかった私のオリジナルメニューコードは

<?php wp_nav_menu(array('theme_location' => 'primary','items_wrap' => '<ul id="%1$s" class="sf-menu %2$s">%3$s</ul>')); ?> 
ました仕事と引っ張っ多くの髪の後、私は両方ともストリップ戻って、基本的に同じであるので、それが最初に動作しない場合はあきらめていないん、この

<?php wp_nav_menu(array('items_wrap' => '<ul class="sf-menu %2$s">%3$s</ul>')); ?> 

に変更していなかった

試してみるing! /wp-includes/nav-menu-template.php

-3

ハック関数wp_nav_menu()この行ライン後270

$nav_menu = $items = ''; 

を追加:

$nav_menu .='<h3>'.$menu->name.'</h3>'; 
0

は一般に方法がありますコアを編集せずにやりなさい。私はwp_nav_menu()関数コードをコピーし、それを行うために少し修正しました。

// set menu arguments 
    $args = array('theme_location' => 'primary_navigation'); 

    // if menu parameter set directly get menu object directly 
    if (isset($args['menu'])) 
    $menu = wp_get_nav_menu_object($args['menu']); 
    // otherwise get it from theme location 
    elseif (!isset($menu) && $args['theme_location'] && ($locations = get_nav_menu_locations()) && isset($locations[ $args['theme_location'] ])) 
    $menu = wp_get_nav_menu_object($locations[ $args['theme_location'] ]); 

    // if menu name exists, pass it into items_wrap 
    if (isset($menu) && isset($menu->name)) 
    $args['items_wrap'] = '<h6>'. $menu->name .'</h6><ul class="%2$s">%3$s</ul>'; 
    wp_nav_menu($args); 

のでWordPress Codexによると、あなたは、WordPressのコアをハックすることはありません:あなたは岩

Do not hack core