OK私は自分のプリンシパルメニューを表示しようとしているので、次のコードを使用します。
<?php $defaults = array(
'theme_location' => '',
'menu' => '',
'container' => false,
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="unstyled pull-right %2$s">%3$s</ul>',
'depth' => 0,
'walker' => new description_walker()
); ?>
<?php wp_nav_menu( $defaults ); ?>
メニューは(ページではなく)カテゴリ名で埋められ、以下を出力します。
<ul id="menu-principal" class="unstyled pull-right menu">
<li id="menu-item-597" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-597"><a href="#">menu</a></li>
<li id="menu-item-595" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-595"><a href="#">menu</a></li>
<li id="menu-item-596" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-596"><a href="#">menu</a></li>
<li id="menu-item-593" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-593"><a href="#">menu</a></li>
<li id="menu-item-594" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-594"><a href="#">menu</a></li>
<li id="menu-item-592" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-592"><a href="#">menu</a></li>
<li id="menu-item-591" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-591"><a href="#">menu</a></li>
<li id="menu-item-592" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-592"><a href="#">menu</a></li>
<li id="menu-item-591" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-591"><a href="#">menu</a></li>
</ul>
これらのクラスすべてをカテゴリ名に置き換えたいので、functions.phpでwalkerクラスを使用します。 https://Gist.github.com/1053467
だから私は最小限のものを持っていますが、私はクラスを追加する方法がわかりません。 class = "category-categoryname"(すなわち、class = "category-photography")。
あなたの時間と助けてくれてありがとう。
あなたのウォーカークラスはあなたが@Gabを必要とするものにほぼ完璧です。
21行目の代わりに:
$output .= '<li>';
38行目の直前に移動する
$output .= apply_filters(
'walker_nav_menu_start_el' [...]
そしてそれを次のように変更してください。
$output .= $indent . '<li id="nav-menu-item-'. $item->ID . '" class="'. $title . '">';
そしてあなたはあなたのliの最初のクラスとしてカテゴリー名を持つべきです
わかりました、Nice title $ titleを作成したので、それを使用してliタグを作成してから、以前のようにaタグを作成できます。
編集:
$mycatid = $item->object_id;
$category = get_category($mycatid );
$mycatslug = $category->slug;
$output .= $indent . '<li id="nav-menu-item-'. $item->ID . '" class="'. $mycatslug . '">';