كيفية إنشاء أدوات متعددة في WordPress باستخدام حلقات Foreach
نشرت: 2020-01-25هل تبحث عن طريقة ديناميكية لإنشاء أدوات متعددة في WordPress دون كتابة الكثير من التعليمات البرمجية؟ أو هل رأيت سمة WordPress تتيح لك إنشاء شريط جانبي أو إنشاء أدوات متعددة من لوحة القيادة؟
في برنامج تعليمي سابق ، شرحت بالتفصيل كيفية إضافة الشريط الجانبي في WordPress . اليوم ، في هذا البرنامج التعليمي السريع ، سأشارك معك حلاً سريعًا لإنشاء أدوات متعددة في WordPress أثناء التنقل. لن يؤدي هذا إلى توفير وقتك فحسب ، بل ستعيد استخدام الحيلة في مشاريع متعددة خاصةً إذا كنت مطور WordPress محترفًا مشغولاً.
حلقة لإنشاء أشرطة جانبية متعددة لـ WordPress
من الناحية المثالية ، نريد استخدام وظيفة تنشئ أشرطة جانبية متعددة لـ WordPress باستخدام نوع من التكرار الحلقي . عند إنشاء هذا الرمز للموضوع الأول أو المكون الإضافي ، ستعيد استخدامه في المزيد من تطوير السمات والمكونات الإضافية.
يمكن أن تكون هذه الوظيفة أيضًا أساسًا لبناء منشئ شريط جانبي ديناميكي مستخدم في قالب أو مكون إضافي لبرنامج WordPress. لكي تفهم تمامًا كيفية عمل هذا الرمز ، يجب أن تكون ملمًا بعملية إنشاء شريط جانبي في WordPress كما شرحت تمامًا في هذا المنشور.
إنشاء أدوات WordPress
تلعب أدوات WordPress دورًا مهمًا في مساعدة المستخدمين على عرض محتوى جديد في أقسام مختلفة من موقعهم على الويب. في هذا المنشور حول كيفية إنشاء مناطق عناصر واجهة المستخدم في WordPress ؛ لقد شاركت نصائح مهمة ورمزًا وشرحت أيضًا بوضوح شديد في هذا المنشور حول كيفية إضافة شريط جانبي في WordPress .
عندما تكون لديك القدرة على إضافة عنصر واجهة مستخدم في سمة WordPress ، يكون الأمر مدهشًا ببساطة حيث يمكنك إضافة أي ميزة جديدة عبر جميع أقسام موقعك.
لمراجعة سريعة لكيفية إضافة الشريط الجانبي أو منطقة عنصر واجهة المستخدم في WordPress ، يجب إضافة الكود التالي إلى function.php لتسجيل الشريط الجانبي كخطوة أولى عند إضافة عنصر واجهة مستخدم في قالب WordPress الخاص بك:
/ ** * تسجيل منطقة القطعة. * / الوظيفة njengah_create_one_widget_tutorial () { // تسجيل وظيفة الشريط الجانبي - https://developer.wordpress.org/reference/functions/register_sidebar/ register_sidebar ( مجموعة مصفوفة( 'name' => __ ('Njengah Widget Example'، 'textdomain') ، 'id' => 'sidebar-1' ، 'description' => __ ('أضف أدوات هنا لتظهر في الشريط الجانبي.'، 'textdomain')، 'before_widget' => '<section id = "٪ 1 $ s" class = "عنصر واجهة المستخدم٪ 2 $ s">'، 'after_widget' => '</section>'، 'before_title' => '<h2 class = "widget-title">'، 'after_title' => '</h2>'، ) ) ؛ } add_action ('widgets_init'، 'njengah_create_one_widget_tutorial') ؛
هذه هي وظيفة register_sidebar () التي نستخدمها لإضافة عنصر واجهة مستخدم واحد إلى موقع WordPress ويمكن الآن عرض الأداة في قالب الصفحة المعني باستخدام وظيفة dynamic_sidebar () على النحو التالي:
<؟ php if (is_active_sidebar ('sidebar-1')):؟> <ul id = "sidebar"> <؟ php dynamic_sidebar ('sidebar-1') ؛ ؟> </ul> <؟ php endif؛ ؟>
إنشاء أشرطة جانبية لعناصر واجهة مستخدم متعددة في WordPress
نظرًا لأن الكود الخاص بتسجيل الشريط الجانبي يستخدم وظيفة register_sidebar () لإنشاء المزيد من الأشرطة الجانبية ، فأنت تحتاج فقط إلى تكرار هذا الرمز عدة مرات كما يحلو لك: الآن يمكننا إنشاء ثلاثة أشرطة جانبية عن طريق تكرار هذا الرمز على النحو التالي:
/ ** * تسجيل 3 مناطق القطعة. * / الوظيفة njengah_create_three_widget_tutorial () { // تسجيل الشريط الجانبي # 1 register_sidebar ( مجموعة مصفوفة( 'name' => __ ('Njengah Sidebar 1'، 'textdomain')، 'id' => 'sidebar-1' ، "description" => __ ("أضف أدوات هنا لتظهر في الشريط الجانبي 1." ، "textdomain") ، 'before_widget' => '<section id = "٪ 1 $ s" class = "عنصر واجهة المستخدم٪ 2 $ s">'، 'after_widget' => '</section>'، 'before_title' => '<h2 class = "widget-title">'، 'after_title' => '</h2>'، ) ) ؛ // تسجيل الشريط الجانبي # 2 register_sidebar ( مجموعة مصفوفة( 'name' => __ ('Njengah Sidebar 2'، 'textdomain')، 'id' => 'sidebar-2' ، 'description' => __ ('أضف أدوات هنا لتظهر في الشريط الجانبي 2.' ، 'textdomain') ، 'before_widget' => '<section id = "٪ 1 $ s" class = "عنصر واجهة المستخدم٪ 2 $ s">'، 'after_widget' => '</section>'، 'before_title' => '<h2 class = "widget-title">'، 'after_title' => '</h2>'، ) ) ؛ // تسجيل الشريط الجانبي # 3 register_sidebar ( مجموعة مصفوفة( 'name' => __ ('Njengah Sidebar 3'، 'textdomain')، 'id' => 'sidebar-3' ، "description" => __ ("أضف أدوات هنا لتظهر في الشريط الجانبي 3." ، "textdomain") ، 'before_widget' => '<section id = "٪ 1 $ s" class = "عنصر واجهة المستخدم٪ 2 $ s">'، 'after_widget' => '</section>'، 'before_title' => '<h2 class = "widget-title">'، 'after_title' => '</h2>'، ) ) ؛ } add_action ('widgets_init'، 'njengah_create_three_widget_tutorial') ؛
يمكنك إنشاء المزيد والمزيد من مناطق عناصر واجهة المستخدم من خلال تكرار هذا الرمز الذي تستخدمه لتسجيل الأدوات وكل شيء يعمل وهو أمر رائع.
لكن انتظر لحظة! ألم تسمع عن أحد القواعد الأساسية أو البرمجة - جاف (لا تكرر نفسك)؟
هذا مبدأ بسيط يعني أن التعليمات البرمجية الخاصة بك يجب أن تكون فعالة ويجب تجنب مثل هذه التكرارات لتجنب التكرار. يمكننا استبدال هذا الرمز بشيء أفضل ، على سبيل المثال ، يمكننا تمرير وسيط إلى الوظيفة register_sidebar () للقيام بذلك ثلاث مرات.
إنشاء أدوات متعددة في WordPress باستخدام وسيطة
يمكننا تحقيق هدفنا في إنشاء عناصر واجهة مستخدم متعددة في WordPress عن طريق تعديل وظيفة register_sidebar () عن طريق تمرير مجموعة من الوسائط كمعامل ثاني والمعامل الأول هو عدد الأدوات التي نريد إنشاءها. في هذه الحالة ، يمكننا تغيير الكود الذي تمت مشاركته أعلاه إلى هذا:
وظيفة create_multiple_sidebar_widgets () { $ args = مجموعة ( 'name' => 'Njengah Sidebar٪ d' ، 'id' => 'njengah-sidebar' ، 'description' => "أحد أشرطة Njengah التعليمية الجانبية" ، 'class' => "، 'before_widget' => '<li id = "٪ 1 $ s" class = "عنصر واجهة المستخدم٪ 2 $ s">'، 'after_widget' => '</li>'، 'before_title' => '<h2 class = "widgettitle">'، 'after_title' => '</h2>' ) ؛ register_sidebar (3، $ args) ؛ } add_action ('widgets_init'، 'create_multiple_sidebar_widgets') ؛
قيمة الاسم لها عنصر نائب٪ d يسمح لنا ببساطة بعرض الأشرطة الجانبية بالأرقام 1 ، 2 و 3.
هذا حل سريع لإنشاء أدوات متعددة في WordPress ولكنه لا يزال ليس الحل النهائي. يمكننا المضي قدمًا وتحسينه كما سأوضح قريبًا.
قم بإنشاء أشرطة جانبية متعددة باستخدام Array في WordPress
الحل أعلاه ليس فعالًا جدًا نظرًا لأن العنوان والوصف يقتصران على ما تقوم بتعيينه في الوظيفة register_sidebar ().
لجعل هذا الحل أفضل ، يمكننا تقديم مصفوفة بالأسماء والمعرفات والأوصاف ثم نستخدم حلقة foreach لتسجيل الأشرطة الجانبية.
فيما يلي مثال على إنشاء عدة عناصر واجهة مستخدم باستخدام مصفوفة وحلقة foreach:
وظيفة create_multiple_sidebar_widgets () { njengah_sidebars = مصفوفة ( مجموعة مصفوفة( 'name' => "الصفحة الرئيسية لمنطقة عنصر واجهة المستخدم" ، 'id' => 'widget-area-homepage' ، "الوصف" => "الأدوات المعروضة في الصفحة الرئيسية" ، ) ، مجموعة مصفوفة( 'name' => "رأس منطقة عنصر واجهة المستخدم" ، 'id' => 'widget-area-header' ، "الوصف" => "الأدوات المعروضة في العنوان" ، ) ، مجموعة مصفوفة( 'name' => 'Widget Area Footer' ، 'id' => 'widget-area-footer' ، "الوصف" => "الأدوات المعروضة في التذييل" ، ) ، ) ؛ افتراضات $ = مجموعة ( 'name' => 'Njengah Sidebar' ، 'id' => 'njengah-sidebar' ، 'description' => 'يظهر الشريط الجانبي الافتراضي على الجانب الأيسر من صفحات المدونة في هذا الموضوع' ، 'class' => "، 'before_widget' => '<li id = "٪ 1 $ s" class = "عنصر واجهة المستخدم٪ 2 $ s">'، 'after_widget' => '</li>'، 'before_title' => '<h2 class = "widgettitle">'، 'after_title' => '</h2>' ) ؛ foreach ($ njengah_sidebars كـ $ sidebar) { $ args = wp_parse_args ($ sidebar، $ defaults) ؛ register_sidebar ($ args) ؛ } } add_action ('widgets_init'، 'create_multiple_sidebar_widgets') ؛
يمنحك هذا الحل القدرة على إنشاء عناصر واجهة مستخدم متعددة في المستقبل لأنك تحتاج فقط إلى إضافة كل تفاصيل عنصر واجهة مستخدم جديدة (الاسم والمعرف والوصف) إلى المصفوفة ويتم إنشاء عنصر واجهة المستخدم بشكل سريع.
إنشاء العديد من ودجات التذييل المتشابهة في WordPress
في النهاية ، يعد هذا هو أفضل أسلوب لإنشاء عناصر واجهة مستخدم متعددة في WordPress ، وإن كان الخيار الثاني يمكن أن يكون مفيدًا أيضًا عندما تريد عدة عناصر واجهة مستخدم متشابهة.
على سبيل المثال ، عندما تريد إنشاء العديد من عناصر واجهة مستخدم التذييل ، فقد يكون من الأسهل استخدام حلقة for كما يلي:
/ ** * تسجيل منطقة القطعة باستخدام حلقة ل * * @ المؤلف Joe Njenga * / الوظيفة njengah_register_sidebars_dynamically () { لـ ($ i = 1، $ n = 5؛ $ i <= $ n؛ $ i ++) { register_sidebar ( مجموعة مصفوفة( 'name' => esc_html __ ('Footer Area #'، 'textdomain'). أنا $ ، 'id' => 'footer-'. أنا $ ، 'description' => sprintf (esc_html __ ('العمود #٪ s في منطقة التذييل'، 'textdomain')، $ i)، 'before_widget' => '<aside id = "٪ 1 $ s" class = "عنصر واجهة المستخدم٪ 2 $ s">' ، 'after_widget' => '</aside>'، 'before_title' => '<h3 class = "widget-title">'، 'after_title' => '</h3>'، ) ) ؛ } } } add_action ('widgets_init'، 'njengah_register_sidebars_dynamically') ؛
أعتقد أن هذا يمكن أن يكون أحد الحلول الأكثر فائدة لإنشاء عناصر واجهة مستخدم متعددة في WordPress نظرًا لأن الحلقة for تعد ببساطة 5 وتنشئ 5 عناصر واجهة مستخدم ، يمكنك فقط تغيير الرقم إلى أي عدد آخر من الأدوات التي تريدها وسيتم إنشاء العديد من الحاجيات ديناميكيًا أثناء التنقل.
تغليف
لقد قمنا بتغطية الطرق الثلاث المختلفة لإنشاء عناصر واجهة مستخدم متعددة في WordPress ، وآمل أن تكون هذه مجرد بداية لإعطائك الزخم لإنشاء طرق أكثر ابتكارًا لإنشاء أشرطة جانبية ديناميكية متعددة أو عناصر واجهة مستخدم متعددة في سمات WordPress والمكونات الإضافية. أخيرًا ، من المهم لكل مطور WordPress أن يتعلم كيفية الاستفادة من مبدأ DRY لأنه لا يوفر الوقت فحسب ، بل يحسن كفاءة الكود.