كيفية إزالة عناصر قائمة مسؤول WordPress برمجيًا بدون البرنامج المساعد

نشرت: 2020-01-20

كيفية إزالة عناصر قائمة مسؤول WordPress برمجيًا تعد قوائم لوحة معلومات WordPress طريقة مفيدة للغاية للتغلب على الأقسام المختلفة للوحة تحكم المسؤول ، ولكن في بعض الأحيان قد تكون مصدر إزعاج أو غير مرغوب فيه. على وجه الخصوص ، عند استخدام WordPress كنظام إدارة محتوى لإنشاء موقع ويب للعميل على عكس التدوين ، فأنت بحاجة إلى إزالة عناصر قائمة مسؤول WordPress غير المطلوبة.

تتمثل إحدى أسهل الطرق لإزالة عناصر قائمة مسؤول WordPress في استخدام المكونات الإضافية المتاحة مجانًا والتي يمكنها إخفاء عناصر قائمة المسؤول حسب دور المستخدم أو بشروط.

عندما لا يتم إزالة عناصر قائمة إدارة WordPress باستخدام البرنامج المساعد

قد تكون عيوب استخدام المكونات الإضافية لإزالة عناصر قائمة مسؤول WordPress هي الاعتماد المفرط على مطوري المكونات الإضافية لجهات خارجية للحصول على تحديثات متسقة.

مخاطر الإضافات الخارجية

في هذه الحالة ، عندما تريد التحكم في القوائم التي يتم عرضها في لوحة معلومات WordPress الخاصة بك دون استخدام مكون إضافي ، فإن هذا البرنامج التعليمي هو أفضل دليل لك.

تحديثات مستمرة

سبب آخر لإزالة عناصر قائمة مسؤول WordPress برمجيًا هو التحديثات المستمرة التي لديك في جميع مكونات WordPress الإضافية التي تقوم بتثبيتها.

تعد هذه التحديثات مهمة لأنها تعمل على تحسين تجربة المستخدم والأداء والأمان ولكنها قد تكون مرهقة للغاية خاصة عندما تتعامل مع عدد كبير من مواقع الويب الخاصة بالعميل.

العديد من قوائم إدارة البرنامج المساعد

عندما يكون لديك العديد من المكونات الإضافية المثبتة على موقعك ، تأتي معظمها مع قوائم المسؤول وقد ترغب في إزالة القوائم نظرًا لأنك لا تستخدم قوائم المسؤول باستمرار.

في هذا المنشور ، سأوضح كيفية إزالة عناصر قائمة WordPress دون استخدام مكون إضافي. لكي تتمكن من تنفيذ ذلك في موقع WordPress الخاص بك ، فأنت بحاجة إلى القليل من الخبرة في تحرير مواقع WordPress خاصةً إضافة مقتطفات التعليمات البرمجية إلى ملف سمة function.php.

إزالة عناصر قائمة مسؤول WordPress برمجيًا

أحب أن أبدأ بملخص سريع لأنه يسهل على القراء الذين يبحثون عن حل سريع في دليل خطوة بخطوة. فيما يلي الخطوات التي يجب اتخاذها لإزالة عناصر قائمة مسؤول WordPress.

  1. قم بتسجيل الدخول إلى موقع WordPress الخاص بك وحدد عناصر قائمة المسؤول التي تريد إزالتها
  2. قم بإنشاء خطاف إجراء يتم ربطه بحدث admin_menu باستخدام وظيفة رد الاتصال التي لها منطق لإزالة قوائم مسؤول WordPress من لوحة القيادة الخاصة بك.
  3. يجب أن تستخدم وظيفة رد الاتصال وظائف remove_menu_page أو remove_submenu_page () WordPress لإزالة كل عنصر من عناصر قائمة المسؤول المستهدفة. على سبيل المثال ، يمكنك إزالة قائمة الأدوات من قائمة السمات باستخدام هذا الرمز remove_submenu_page( 'themes.php', 'widgets.php'); أو قم بإزالة القائمة الرئيسية للوحة القيادة باستخدام هذا الرمز - remove_menu_page('index.php');
  4. بدلاً من ذلك ، يمكنك استخدام وظيفة unset() php والوصول إلى قيم مصفوفة القائمة الفرعية العامة لإزالة كل عنصر من عناصر قائمة مسؤول WordPress المستهدفة.
  5. أضف مقتطف الشفرة هذا إلى وظائف theme.php وقم بتحديث التغييرات. سيؤدي هذا إلى إزالة عناصر قائمة مسؤول WordPress بنجاح دون استخدام مكون إضافي.
  6. يمكنك أيضًا إضافة هذا الرمز إلى وظيفة في المكون الإضافي المخصص الخاص بك وسيعمل كما يعمل في وظائف السمة.

كيفية إزالة قوائم إدارة WordPress بدون البرنامج المساعد

ما يلي هو الأسلوب التفصيلي خطوة بخطوة لإزالة عناصر قائمة مسؤول WordPress عن طريق إضافة رمز بدلاً من استخدام مكون إضافي آخر.

تحديد سبيكة عناصر قائمة المسؤول

قم بتسجيل الدخول إلى لوحة معلومات WordPress الخاصة بك وتحقق من عناصر قائمة المسؤول التي تريد إزالتها. كما ترى في هذا المثال ، تحتوي قائمة لوحة القيادة الرئيسية على مؤشر slug.php .

هذا الرابط مهم لأنه أحد المعلمات التي تضيفها إلى وظيفة remove_submenu_page () ، كما سأوضح قريبًا.

إزالة قائمة المشرف وورد

فهم كيفية إزالة صفحة وإزالة عمل وظائف الصفحة القائمة الفرعية

إزالة وظيفة الصفحة

تأتي وظيفة remove_menu_page مع معلمة واحدة فقط وهي الحلقة الثابتة للصفحة وتزيل قائمة إدارة المستوى الأعلى. المعلمة عبارة عن سلسلة نظرًا لأنها سلسلة الصفحة التي من الواضح أنها سلسلة ويجب أن يكون الرمز العام كما يلي:

 remove_menu_page (سلسلة ؛ $ menu_slug ؛)

إزالة وظيفة Subpage

تأتي وظيفة remove_submenu_page مع معلمتين ، الأول وهو سبيكة القائمة الرئيسية عندما تقوم بإزالة القوائم الفرعية والثاني من القائمة الفرعية التي تريد إزالتها. يجب أن يكون الرمز العام كما يلي:

 remove_submenu_page (سلسلة $ menu_slug ، سلسلة $ submenu_slug)

قم بإنشاء خطاف إجراء لإزالة قائمة المسؤول و / أو عناصر القائمة الفرعية

المثال التالي هو مثال على خطاف الإجراء الذي يتم ربطه بحدث admin_menu وله وظيفة رد الاتصال التي أطلقنا عليها اسم " remove_admin_menu_items"

 add_action ('admin_menu'، 'remove_admin_menu_items'، 999) ؛

قم بإنشاء وظيفة رد الاتصال لإزالة قائمة المسؤول و / أو عناصر القائمة الفرعية باستخدام remove_submenu_page و remove_menu_page ()

أولاً ، في وظيفة رد الاتصال ، تحتاج إلى الحصول على مصفوفة القوائم العامة باستخدام متغير القائمة الفرعية $ العالمية إذا كنت ستستخدم وظيفة unset () .

ثانيًا ، يمكنك إضافة وظيفة remove_submenu_page أو remove_menu_page () التي تستهدف الصفحة التي تريد إزالتها كما هو موضح في الكود أدناه:

 الوظيفة remove_admin_menu_items () {        

    remove_submenu_page ('menu_slug'، 'submenu_slug') ؛ 

}

أو باستخدام unset يمكنك الحصول على وظيفة رد الاتصال التالية

 الوظيفة remove_admin_menu_items () {

        العالمية $ submenu؛ 

       unset ($ submenu ['شريحة قائمة رئيسية'] [admin item submenu array index])؛

 }

مثال على كيفية إزالة عنصر قائمة مسؤول التحديثات

عند تسجيل الدخول إلى لوحة معلومات WordPress الخاصة بك ، يوجد عنصر قائمة حول التحديثات الموجودة ضمن قائمة لوحة القيادة الرئيسية كما هو موضح في الصورة أدناه:

إزالة قائمة المشرف وورد

سأوضح كيف يمكنك إزالة عنصر قائمة المسؤول هذا باستخدام الطريقة التي تمت مناقشتها أعلاه. أولاً ، الرابط الثابت للقائمة الأصل هو index.php والارتباط الثابت لقائمة التحديثات هو update-core.php

إزالة عنصر قائمة إدارة WordPress الرئيسي والقائمة الفرعية

لذلك يمكنك إنشاء وظيفة ربط الإجراء و رد الاتصال لإزالة عنصر القائمة بالكامل باستخدام وظيفة remove_menu_page () على النحو التالي:

 // قم بإزالة عنصر القائمة الرئيسية مع الصفحات الفرعية / القوائم الفرعية

add_action ('admin_menu'، 'remove_admin_menu_items'، 999) ؛

 الوظيفة remove_admin_menu_items () {

    remove_menu_page ('index.php') ،


 }

سيؤدي هذا إلى إزالة القائمة بأكملها والقوائم الفرعية كما هو موضح في الصورة أدناه:

إزالة عناصر القائمة الفرعية لـ WordPress فقط

إزالة عناصر القائمة الفرعية لـ WordPress فقط

يمكنك إنشاء ربط الإجراء ووظيفة رد الاتصال لإزالة عنصر القائمة الفرعية باستخدام وظيفة remove_submenu_page كما يلي:

 // إزالة الصفحات الفرعية أو القائمة الفرعية

add_action ('admin_menu'، 'remove_admin_menu_items'، 999) ؛

الوظيفة remove_admin_menu_items () {

    remove_submenu_page ('index.php'، 'update-core.php') ؛

}

سيؤدي هذا إلى إزالة القائمة الفرعية المحددة في المعلمة الثانية لوظيفة remove_submenu_page ، في هذه الحالة ، حددناها كـ " update-core.php" والنتيجة كما هو موضح في الصورة أدناه:

استخدام وظيفة Unset () PHP

يمكننا أيضًا استخدام وظيفة unset لـ PHP لإزالة عناصر القائمة الفرعية وفي هذه الحالة ، نحتاج أولاً إلى الوصول إلى مصفوفة $ submenu الشاملة كما هو موضح في الكود أدناه:

 // أضف خطاف الإجراء إلى حدث admin_menu

add_action ('admin_menu'، 'remove_admin_menu_items'، 999) ؛

// وظيفة رد الاتصال
الوظيفة remove_admin_menu_items () {

    // مصفوفة قائمة المسؤول-> قائمة بجميع عناصر قائمة مسؤول WordPress في هذه المجموعة
    العالمية $ submenu؛

    // اطبع المصفوفة على الشاشة حتى نتمكن من رؤية عناصر قائمة المسؤول عن طريق الفهرس
    
     طباعة ('<قبل>') ؛
     print_r ($ submenu) ؛
     طباعة ('<قبل>') ؛

      // نقوم بإزالة كل شيء آخر معروض على الشاشة حتى نرى فقط مجموعة عناصر قائمة المسؤول
      موت()؛

}

يحصل هذا الرمز على مصفوفة القائمة الفرعية العالمية ونطبعه لعرض مصفوفة جميع القوائم حتى نتمكن من اختيار فهرس كل عنصر من عناصر قائمة المسؤول ثم إزالتها كما نرغب.

في هذا الكود ، يمكنك رؤية استخدام الدالة pre tags و die () لعرض الكود بتنسيق مقروء.

استخدام وظيفة Unset () PHP ووردبريس

قم بإزالة عنصر قائمة WordPress الفرعية باستخدام Unset

لذا فإن فهرس المصفوفة لقائمة التحديث الأساسية الفرعية هو 10 . لذلك يمكننا المضي قدمًا واستخدام وظيفة unset () على النحو التالي:

 // إزالة عنصر القائمة الرئيسية مع الصفحات الفرعية باستخدام unset

add_action ('admin_menu'، 'remove_admin_menu_items'، 999) ؛

الوظيفة remove_admin_menu_items () {

    العالمية $ submenu؛

       unset ($ submenu ['index.php'] [0])؛ // إزالة index.php قائمة المستوى الأعلى (قائمة لوحة القيادة - القائمة الرئيسية)
      unset ($ submenu ['index.php'] [10])؛ // إزالة القائمة الفرعية update-core.php (قائمة التحديثات)


}

ستكون النتائج مماثلة لاستخدام وظيفة remove_submenu_page WordPress.

قم بإزالة عنصر قائمة مسؤول WordPress باستخدام Unset

يمكننا أيضًا إزالة صفحة المستوى الأعلى والقائمة الفرعية معًا باستخدام الوظيفة غير المحددة التي تستهدف كل صفحة من هذه الصفحات:

قم بإزالة عنصر قائمة مسؤول WordPress باستخدام Unset

يجب أن يكون الرمز كما يلي:

 //. قم بإزالة عنصر القائمة الفرعية الرئيسية باستخدام unset

add_action ('admin_menu'، 'remove_admin_menu_items'، 999) ؛

الوظيفة remove_admin_menu_items () {

   global $ submenu؛

   unset ($ submenu ['index.php'] [10])؛


}

ستكون النتيجة إزالة أي من الصفحات حيث لم يتم ضبطها في الكود:

كيفية إزالة عناصر قائمة مسؤول WordPress برمجيًا بدون البرنامج المساعد

تغليف

في هذا المنشور ، قمنا بتغطية طريقتين رئيسيتين يمكنك استخدامهما لإزالة عناصر قائمة مسؤول WordPress وتنظيف لوحة معلومات WordPress الخاصة بك. إذا كنت مطورًا لبرنامج WordPress ، فيمكنك إعادة استخدام هذا الرمز ونسخه بسهولة للتحقق من موضوعي ويمكنك متابعتي على GitHub لمزيد من التحديثات المستقبلية. لقد قمت أيضًا بمشاركة العديد من المقتطفات الأخرى هنا - WP-Snippets . آمل أن تتمكن الآن من إزالة عناصر مسؤول WordPress التي لا تريدها من قائمتك.