web-dev-qa-db-ja.com

Wp_nav_menuの "items_wrap"引数に関するドキュメントはありますか?

wp_nav_menu を使用していて、サブレベルのドロップダウン用のカスタム出力を作成しようとしています。私は "items_wrap"引数に出会いましたが、それが何であるか、それがどのように動作するのか、そしてどんな種類のことができるのかについての情報はあまりありません。

" %1 $ s "と " %2 $ s "とは何ですか? (誰でも素人の言葉でそれを説明できますか?)

41
RodeoRamsey

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$ssprintf()の最初の引数の引数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>' ) );

classidが不要で、別のコンテナが必要な場合( custom walker を使用したため):

wp_nav_menu( array( 'items_wrap' => '<div>%3$s</div>' ) );

主なポイントは次のとおりです。wp_nav_menu()で指定された置換には数値を使用する必要があります。 %3$sは常にアイテムのリストです。

56
fuxia

私が集めたものから、それは出力をつかみ、そしてliにメニュー名でidとクラスを与えます。ですから、特定のメニューをスタイルしたいときは、そのIDやクラスをスタイルしたいときはそのクラスをつかみます。 1と2は単なる異なる出力です。

0
xLRDxREVENGEx