in ,

إنشاء و برمجه إضافات ووردبريس المرحله #2

إنشاء صفحة الاعدات

برمجه إضافات ووردبريس
برمجه إضافات ووردبريس

فى الموضوع السابق كيفية إنشاء وبرمجه إضافات ووردبريس تكلمنا عن القواعد الاساسيه لانشاء الاضفات فى هذا الموضوع  دعونا نأخذ الاضافه الى خطوة واحدة أخرى! وهى إنشاء صفحة الاعدات.

لماذا لا ، نحن نبني صفحة خيارات للمكونات الإضافية في منطقة الإدارة ونقدم خلفية لمستخدمي الاضافه؟

في الوقت الحالي ، يخرج المكون الإضافي عالم الترحيب (وهو ثابت إلى حد كبير) وإذا أراد شخص ما إخراج “Hello Example” ، فيجب عليه فتح ملف php وإجراء تغييرات في كل مرة لطباعة نص مختلف.

طلب المستخدم لتحرير ملفات ليست فكرة جيدة ! بصفتك مطور إضافات ووردبريس ، أنت الذي عليه توفير واجهة خيارات الاضافه في منطقة wp-admin.

كتابة صفحه اعدات الاضافه

نحن الآن ننشئ صفحة خيارات اضافة Hello World التى قمنا بانشاها فى الموضوع السابق في منطقة wp-admin.

1-  عندما يتم تنشيط الاضافه  ، سننشئ حقل قاعدة بيانات جديد و سنقوم بتسميته الى “wp_hello_world_data” باستخدام وظيفة set_options ().

2- عندما يتم إلغاء تنشيط المكون الإضافي ، فإننا نحذف حقل قاعدة البيانات “wp_hello_world_data”

3- ننشئ قائمة خيارات لـ Hello World في WordPress Admin> Settings.

4- نقوم بحفظ البيانات المدخلة من قبل المستخدم في قاعدة بيانات wordpress.

5- استرداد البيانات المخزنة في قاعدة بيانات ووردبريس وإخراجها باستخدام وظيفة get_options

لماذا نقوم بإنشاء حقل قاعدة البيانات؟ لأنه يجب حفظ البيانات المحفوظة في مكان ما؟ أي. في قاعدة البيانات ووردبريس. بهذه الطريقة دخل البرنامج الإضافي للمخرج إلى النص ، بدلاً من عبارة “Hello World”.

تنشيط / إلغاء تنشيط أضافة ووردبريس

من السهل جدًا كتابة دالة ما على المكوِّن الإضافي عندما يتم تنشيطه. يقدم WordPress 4 وظائف مهمة للغاية

  • register_activation_hook -> يعمل على تفعيل البرنامج المساعد
  • register_deactivation_hook -> يعمل على إلغاء تنشيط المكون الإضافي
  • add_option -> إنشاء حقل جديد لقاعدة البيانات
  • get_option -> يسترد القيمة في حقل قاعدة البيانات.
<?php
/* Runs when plugin is activated */
register_activation_hook(__FILE__,'hello_world_install'); 

/* Runs on plugin deactivation*/
register_deactivation_hook( __FILE__, 'hello_world_remove' );

function hello_world_install() {
/* Creates new database field */
add_option("hello_world_data", 'Default', '', 'yes');
}

function hello_world_remove() {
/* Deletes the database field */
delete_option('hello_world_data');
}

?>

تعمل الشفرة الموضحة أعلاه على إنشاء حقل قاعدة البيانات الجديد `hello_world_data` باستخدام add_options ويتم تشغيله عند تنشيط المكون الإضافي. لديه قيمة “افتراضي” نظرًا لأننا نحددها بوضوح.

بالمثل عندما يتم إلغاء تنشيط المكوِّن الإضافي أو إزالته ، نحتاج إلى تنظيف الأشياء ، لذا نزيل حقل قاعدة البيانات الذي تم إنشاؤه باستخدام delete_option

صفحة إعدادات الاضافة

هذه هي خطوتنا النهائية. كل ما نحتاج إليه هو إنشاء صفحة إعدادات المكوّن الإضافي في منطقة إدارة ووردبرس. ستقوم صفحة الإعدادات بتحديث البيانات وحفظها في حقل قاعدة البيانات `hello_world_data` الذي أنشأناه أثناء تنشيط المكوِّن الإضافي. تأكد من صفحة خيارات إنشاء صفحة الخروج في مجلدات ووردبرس wordpress codex.
.

إليك شيء مهم جدًا يجب تذكره:

يجب أن يستدعي add_action لـ admin_menu دالة hello_world_admin_menu () تحتوي على add_options_page ، والتي بدورها يجب استدعاء دالة hello_world_html_code () تحتوي على كود html. هذه هي الطريقة التي يجب أن تتدفق الشفرة! الرجوع إلى القوائم إدارة ووردبريس.

<?php
if ( is_admin() ){

/* Call the html code */
add_action('admin_menu', 'hello_world_admin_menu');

function hello_world_admin_menu() {
add_options_page('Hello World', 'Hello World', 'administrator',
'hello-world', 'hello_world_html_page');
}
}
?>

الكود أعلاه ، يتم وضعه تحت is_admin ()مما يعني أنه يعمل فقط في منطقة مشرف او ادمين الووردبريس.

تحتوي الوظيفة التالية على شفرة HTML لصفحة الإعدادات ، تحتوي على النموذج وتلاحظ كيف يتم تقسيم علامة php بحيث تستوعب شفرة html.

<?php
function hello_world_html_page() {
?>
<div>
<h2>Hello World Options</h2>

<form method="post" action="options.php">
<?php wp_nonce_field('update-options'); ?>

<table width="510">
<tr valign="top">
<th width="92" scope="row">Enter Text</th>
<td width="406">
<input name="hello_world_data" type="text" id="hello_world_data"
value="<?php echo get_option('hello_world_data'); ?>" />
(ex. Hello World)</td>
</tr>
</table>

<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="hello_world_data" />

<p>
<input type="submit" value="<?php _e('Save Changes') ?>" />
</p>

</form>
</div>
<?php
}
?>

يجب عليك تذكر شيئين في الكود السابق.

1. حدد حقل قاعدة البيانات الذي أنشأناه من قبل في مربع نص الإدخال على أنه `hello_world_data`

<input name="hello_world_data" type="text" id="hello_world_data"
 value="<?php echo get_option('hello_world_data'); ?>" />

2. إذا كان نموذجك يحتوي على عدد من الحقول (مثل مربع النص ، أو selectbox ، إلخ) ، فيجب إدراج جميع هذه الحقول في حقل القيمة في page_options ، مفصولة بفواصل. لمزيد من المعلومات ، راجع وثائق وورد

<input type="hidden" name="page_options" value="hello_world_data" />

الآن ، يخرج المكون الإضافي ما يحدده المستخدم في صفحة إعدادات hello world.

هذا هو! المكون الإضافي لدينا جاهز!

لا تنس أن تضيف وثائق إلى readme.txt.

اترك تعليقاً