إنشاء صفحة إعدادات بإستخدام Settings API
ال Settings API بتوفر تسجيل الإعدادات وتنظيفها وحفظها من نموذج الإدارة
تجهيز المثال
أنشئ مجلد ezl-demo-15 داخل wp-content/plugins في نسخة WordPress للتجربة ثم ضع ملف الإضافة التالي بداخله وفعلها من لوحة التحكم
كود الإضافة
<?php
/*
Plugin Name: Academy Demo 15
*/
if (!defined("ABSPATH")) { exit; }
add_action('admin_init', function () {
register_setting('ezl_notice_group', 'ezl_notice_text', [
'type' => 'string',
'sanitize_callback' => 'sanitize_text_field',
'default' => '',
]);
});
add_action('admin_menu', function () {
add_options_page('Site Notice', 'Site Notice', 'manage_options', 'ezl-notice', function () {
if (!current_user_can('manage_options')) { return; }
echo '<div class="wrap"><h1>Site Notice</h1><form method="post" action="options.php">';
settings_fields('ezl_notice_group');
echo '<label for="ezl-notice-text">Notice</label> ';
echo '<input id="ezl-notice-text" name="ezl_notice_text" value="'.esc_attr(get_option('ezl_notice_text', '')).'">';
submit_button();
echo '</form></div>';
});
});طريقة التجربة والنتيجة
افتح Settings ثم Site Notice واكتب نص واحفظه وبعد إعادة فتح الصفحة هتلاقيه محفوظ
ملحوظة
ال settings_fields بتضيف حقول الحماية اللازمة للحفظ من خلال options.php