it-swarm.asia

أي مستندات للحجة "items_wrap" wp_nav_menu؟

أنا أستخدم wp_nav_menu وأحاول إنشاء إخراج مخصص للقوائم المنسدلة ذات المستوى الفرعي. صادفت حجة "items_wrap" ، لكن في الحقيقة لا يوجد الكثير من المعلومات حول ماهية هذه الطريقة وكيف تعمل ونوع الأشياء التي يمكن القيام بها.

ما هو بالضبط هو "٪ 1 $ s " و "٪ 2 $ s "؟ (هل يمكن لأي شخص أن يشرح ذلك بعبارات للشخص العادي؟)

41
RodeoRamsey

المعلمة 'items_wrap' الافتراضية لـ wp_nav_menu() هي:

'<ul id="%1$s" class="%2$s">%3$s</ul>' 

هذا a القالب الذي يتم تحليله مع sprintf() :

$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(). تشير علامة النسبة المئوية إلى عنصر نائب ، والعدد الموضع والنوع s يعني أنه يجب التعامل معه كسلسلة.
لا تقم بتغيير النوع إلا إذا كنت تعرف حقًا ما تفعله. :)

  • $wrap_id هي المعلمة 'menu_id' إذا كنت قد قمت بتعيينها ، وإلا فهي 'menu-' . $menu->slug.
  • $wrap_class هي المعلمة 'menu_class' إذا كنت قد قمت بتعيينها ، وإلا فهي فارغة.
  • $items عبارة عن سلسلة من المحتوى الداخلي للقائمة.

دعنا نقول أنك لست بحاجة إلى class. فقط احذف السلسلة الثانية:

wp_nav_menu( array( 'items_wrap' => '<ul id="%1$s">%3$s</ul>' ) );

إذا كنت لا تحتاج إلى class و id ، وتريد حاوية أخرى (لأنك استخدمت مشي مخصص ):

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

النقطة الأساسية هي: عليك استخدام الأرقام الخاصة بالبدائل الواردة في wp_nav_menu(). %3$s هي دائمًا قائمة العناصر.

56
fuxia

من ما أقوم بجمعه يمسك إخراج ويعطي لي معرف وفئة مع اسم القوائم. لذلك عندما ترغب في تصميم قائمة معيّنة ، يمكنك الحصول على هويتها و/أو صفها إذا كنت ترغب في تصميمه. 1 و 2 هو مجرد ناتج مختلف.

0
xLRDxREVENGEx