Theme
Primary Color

إنشاء صفحة إعدادات بإستخدام 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

wordpress شرح