شكرا لك أخي الكريم على مجهودك ..
هناك عدة أخطاء في المثال وقد قمت بتصحيحها :
add_action( 'admin_menu', 'my_plugin_menu' );
function my_plugin_menu() {
add_options_page( 'عنوان القائمة', 'عنوان صفحة الإضافة', 'manage_options', 'my_plugin_admin_page', 'my_plugin_options_page' );
}
// ------------------------------------------------------------------
// أنشاء الحقول والأقسام وتعريف الإعدادات يربط بالخطاف admin_init
// ------------------------------------------------------------------
//
function myplugin_settings_api_init() {
// إضافة قسم الإعدادات لصفحة الخيارات التي عرفناها أعلاه
add_settings_section(
'myplugin_setting_section',
'مثال لقسم إعدادات للإضافة',
'myplugin_setting_section_callback_function',
'my_plugin_admin_page'
);
// إضافة حقل الخيارات
add_settings_field(
'myplugin_setting_name',
'مثال لاسم الحقل',
'myplugin_setting_callback_function',
'my_plugin_admin_page',
'myplugin_setting_section'
);
// تسجيل الخيارات حتى يستطيع ووردبريس حفظ الإعدادات لنا
register_setting( 'myplugin_setting_section', 'myplugin_setting_name' );
}
// إضافة الدالة أعلاة للخطاف المناسب وهو admin_init
add_action( 'admin_init', 'myplugin_settings_api_init' );
// ------------------------------------------------------------------
// دالة الcallback لقسم الإعدادات
// ------------------------------------------------------------------
function myplugin_setting_section_callback_function() {
echo '<p>نص في بداية قسم الإعدادات</p>';
}
// ------------------------------------------------------------------
// دالة الcallback لحقل الإعدادات
// ------------------------------------------------------------------add_options_page
// إنشاء مربع إختيار checkboxز بالطبع يمكنك إنشاء أنواع أخرى من الخقول
function myplugin_setting_callback_function() {
echo '<input name="myplugin_setting_name" id="myplugin_setting_name" type="checkbox" value="1" class="code" ' . checked( 1, get_option( 'myplugin_setting_name' ), false ) . ' /> مثال';
}
// الدالة المسؤولة عن عرض بيانات صفحة خيارات الإضافة كما عرفناها اعلاه
function my_plugin_options_page() {
?>
<div class="wrap">
<h2>صفحة خيارات الإضافة</h2>
<form action="options.php" method="POST">
<?php settings_fields( 'myplugin_setting_section' ); ?>
<?php do_settings_sections( 'my_plugin_admin_page' ); ?>
<?php submit_button(); ?>
</form>
</div>
<?php
}