أرغب في إنشاء تهيئة فرعية من بعض الصفحات في لوحة الإدارة ، على سبيل المثال:
لقد قمت بتعيين قائمة التكوين بهذه الطريقة:
add_menu_page( 'E+', 'CRE+', 8, 'cr_e_plus_user_config', 'cr_e_plus_user_config');
add_submenu_page( 'cr_e_plus_user_config', 'E+', 'Configurations', 8, 'cr_e_plus_user_config', 'cr_e_plus_user_config');
من صفحة Configurations
، أحتاج إلى تحميل صفحة أخرى عندما أقوم بالنقر فوق ارتباط معين. الآن ، لا أريد إدراج هذه الصفحة الجديدة في القائمة ، لأنها ستحتاج إلى معلمة معينة قبل أن أتمكن من عرضها.
لا يتم نطق صفحات المشرف بشكل أساسي بأي شيء آخر ، ثم ربط أي وظيفة ، لذلك ليس من الناحية الفنية إضافة الصفحات الخاصة بك دون استخدام القائمة.
لم أكن على دراية بوظيفة API التي تتيح لك تسجيل الصفحات الخاصة بكل سهولة ، ولكن هناك وظيفة مساعدة في Wordpress يمكنك الاستفادة من: get_plugin_page_hookname()
(وظيفة غير موثقة). بجانب ذلك ، يجب أن يكون الخطاف مسجلاً في سجل عالمي لجميع روابط الصفحات ($GLOBALS['_registered_pages']
) حتى يكون التصنيف صالحًا عند طلب الصفحة.
لقد قمت بلف ذلك في بعض نماذج التعليمات البرمجية ، فقط قم بحفظه في مجلد /wp-content/mu-plugins
: admin_page_demo.php (مثال WordPress MU-Plugin)
هناك يمكنك العثور على وظيفة register_admin_page()
التي يمكنها تسجيل أي رد اتصال تحتاجه في ربط admin_menu
. هذا هو المهم ، مقارنة إضافة قوائم الإدارة (وورد الدستور) .
تقوم الدالة بإرجاع عنوان URL لصفحة المسؤول الجديد. لقد كتبت أنك قد تحتاج إلى إضافة المزيد من المعلمات ، لذلك اعتقدت أنه قد يكون مفيدًا.
بالنسبة إلى الصفحة التجريبية التي قمت بترميزها في هذا المثال ، فإن عنوان URL هو: /wp-admin/options-general.php?page=adminpagedemo_demo_page
.
ضع في اعتبارك أنك بحاجة إلى التحقق من الأمان لتلك الصفحة بنفسك لأن WordPress لا. شيء مثل
current_user_can( ... );
wp_die( __('You do not have sufficient permissions to access this page.') );
قد يكون تلميحا إضافية مفيدة.