yumebunseki
メンバー
1 year前の投稿 #
Codex のリファレンスを見ると
$container
(文字列) (オプション) ul をラップするか、ラップする場合は何でラップするか
初期値: div
とあるのですが、実際は(例えば以下のように)何を渡そうが無視して div でマークアップしたHTMLを返してきます。
<?php if(function_exists('wp_nav_menu')): ?>
<?php wp_nav_menu(array(
'container' => 'ul',
'container_id' => 'nav',
'theme_location' => 'header'))
; ?>
これはバグ(実装ミスまたは漏れ)のような気がします。
ソースを読むと、デフォルトで許可されているのは、div と nav だけですね。
http://core.trac.wordpress.org/browser/tags/3.0.4/wp-includes/nav-menu-template.php
182 $allowed_tags = apply_filters( 'wp_nav_menu_container_allowedtags', array( 'div', 'nav' ) );
許可されるタグについての記載が、
ソースのコメントに無い->codexでも抜け
のような気がします。
幸いにもフィルターが用意されているので、許可するタグを設定することができますね。