wp_nav_menu を使用していて、サブレベルのドロップダウン用のカスタム出力を作成しようとしています。私は "items_wrap"引数に出会いましたが、それが何であるか、それがどのように動作するのか、そしてどんな種類のことができるのかについての情報はあまりありません。
は " %1 $ s "と " %2 $ s "とは何ですか? (誰でも素人の言葉でそれを説明できますか?)
wp_nav_menu()
のパラメーター'items_wrap'
のデフォルトは次のとおりです。
'<ul id="%1$s" class="%2$s">%3$s</ul>'
これは、 sprintf()
で解析されるtemplateです:
$nav_menu .= sprintf(
$args->items_wrap
, esc_attr( $wrap_id ) // %1$s
, esc_attr( $wrap_class ) // %2$s
, $items // %3$s
);
番号付きプレースホルダー-%1$s
、%2$s
、%3$s
– sprintf()
の最初の引数の引数afterを参照します。パーセント記号はプレースホルダー、番号は位置、タイプs
は文字列として扱われることを意味します。
自分が何をするのか本当にわかっていない限り、タイプを変更しないでください。 :)
$wrap_id
はパラメータ'menu_id'
で、設定されている場合は'menu-' . $menu->slug
です。$wrap_class
はパラメーター'menu_class'
で、設定されている場合は空です。$items
は、メニューの内部コンテンツの文字列です。class
は必要ないとします。 2番目の文字列を省略します。
wp_nav_menu( array( 'items_wrap' => '<ul id="%1$s">%3$s</ul>' ) );
class
とid
が不要で、別のコンテナが必要な場合( custom walker を使用したため):
wp_nav_menu( array( 'items_wrap' => '<div>%3$s</div>' ) );
主なポイントは次のとおりです。wp_nav_menu()
で指定された置換には数値を使用する必要があります。 %3$s
は常にアイテムのリストです。
私が集めたものから、それは出力をつかみ、そしてliにメニュー名でidとクラスを与えます。ですから、特定のメニューをスタイルしたいときは、そのIDやクラスをスタイルしたいときはそのクラスをつかみます。 1と2は単なる異なる出力です。