چطوری میشه

ویجت داشبورد وردپرس را قابل تنظیم کنید

ویجت داشبورد وردپرس را قابل تنظیم کنید

چند هفته پیش نحوه افزودن متاباکس داشبورد RSS سفارشی به مدیریت. امروز، می‌خواهم به شما نشان دهم که چگونه گزینه‌های قابل تنظیم را به این متاباکس داشبورد اضافه کنید.

در اینجا نتیجه کاری است که می‌خواهیم انجام دهیم:

make_a_widget_configurableاولین کاری که باید انجام دهید این است واضح است که را بخوانید قسمت اول این آموزش به منظور ایجاد متاباکس.

مهمترین عملکرد در این آموزش، wp_add_dashboard_widget( ). این تابع وردپرس است که ویجت داشبورد را ثبت می کند. قبلاً دیدیم که ثبت ویجت و عملکردی که ویجت را بر روی داشبورد خروجی می دهد بسیار آسان است، اما آخرین پارامتر این تابع را پوشش نداده بودیم. اساسا، wp_add_dashboard_widget() دارای 4 پارامتر است:

$widget_id
(عدد صحیح) (الزامی) یک اسلاگ شناسایی برای ویجت شما. این به عنوان کلاس css و کلید آن در آرایه ویجت ها استفاده می شود.
پیش فرض: هیچ

$widget_name
(string) (الزامی) این نامی است که ویجت شما در عنوان خود نمایش می دهد.
پیش فرض: هیچکدام

$callback
(string) (الزامی) نام تابعی که ایجاد می‌کنید و محتوای واقعی ویجت شما را نمایش می‌دهد.
پیش فرض: هیچ

$control_callback
(string) (اختیاری) نام تابعی که ایجاد می‌کنید که ارسال فرم‌های گزینه‌های ویجت (پیکربندی) را انجام می‌دهد و همچنین عناصر فرم را نمایش می دهد.
پیش فرض: هیچ

همانطور که می بینید، پارامتر چهارم مسئول گزینه های “پیکربندی” است. هنگام پر کردن این پارامتر به وردپرس می‌گویید که یک تابع خاص را برای پیکربندی ویجت بارگذاری کند. هنگامی که مکان نما را روی آن قرار می دهید، به طور خودکار یک پیوند “پیکربندی” در عنوان متاباکس ایجاد می کند.

مرحله 1: ثبت تابع تنظیمات پیکربندی

بنابراین، اولین گام این است که فراخوانی wp_add_dashboard_widget() را تغییر دهید و نام توابع گزینه‌های پیکربندی را در آخرین پارامتر اضافه کنید. توابع rc_mdm_register_widgets() شما باید به صورت زیر باشد:

/**
 * ثبت تمام متاباکس های داشبورد
 *
 * @access عمومی
 * @از 1.0 
 * @return void
*/

تابع rc_mdm_register_widgets() {
	جهانی $wp_meta_boxes;
	
	wp_add_dashboard_widget('widget_custom_rss', __('My RSS Feed', 'rc_mdm'), 'rc_mdm_create_my_rss_box', 'rc_mdm_configure_my_rss_box');
}
add_action('wp_dashboard_setup', 'rc_mdm_register_widgets');

ما به سادگی “rc_mdm_configure_my_rss_box” را به آخرین پارامتر اضافه کردیم.

مرحله 2: ایجاد تابع تنظیمات پیکربندی

این مرحله پیچیده نیست. تنها کاری که باید انجام دهیم این است که فیلدهای فرم ذخیره شده در یک آرایه را ایجاد کنیم. برای انجام این کار، از update_option() استفاده می‌کنیم. الف>. ما نیازی به ایجاد یک فرم کامل نداریم زیرا وردپرس آن را برای ما ایجاد می کند. فقط باید فیلدها را ثبت کنیم. نکته بسیار خوبی که باید به آن اشاره کرد این است که وردپرس به صورت خودکار یک nonce را به فرم اضافه می کند که فرم را ایمن می کند و از مشکلات امنیتی احتمالی جلوگیری می کند. این کد تابع rc_mdm_configure_my_rss_box() ما است (به یاد داشته باشید؟ این چهارمین پارامتری است که در wp_add_dashboard_widget() ).

/**
 * تنظیمات پیکربندی متاباکس RSS را ایجاد می کند
 *
 * @access عمومی
 * @از 1.0 
 * @return void
*/
تابع rc_mdm_configure_my_rss_box($widget_id) {

	// گزینه های ویجت را دریافت کنید
	if (!$rc_mdm_widget_options = get_option('rc_mdm_dashboard_widget_options'))
		$rc_mdm_widget_options = array();

	// گزینه های ویجت را به روز کنید
	if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['rc_mdm_widget_post']) ) {
		update_option( 'rc_mdm_dashboard_widget_options', $_POST['rc_mdm_widget'] );
	}
	
	// URL های فید را بازیابی کنید
	$url_1 = $rc_mdm_widget_options['url_1'];
	$url_2 = $rc_mdm_widget_options['url_2'];
	$url_3 = $rc_mdm_widget_options['url_3']; ?>

	

اکنون می‌توانید داشبورد خود را مجدداً بارگیری کنید، و اگر مکان‌نمای خود را روی متاباکس ویجت قرار دهید، پیوند «پیکربندی» را در بالا سمت راست خواهید دید. وقتی روی آن کلیک می کنید، فرم گزینه ها بارگیری می شود. و هنگام پر کردن فیلدها و ذخیره URL های فید در جدول SQL گزینه های ما ذخیره می شوند.

مرحله 3: بازیابی گزینه ها

آخرین مرحله این است که آدرس‌های اینترنتی فید را که در قسمت اول آموزش کدگذاری کردیم، جایگزین کنید. از خط 14 تا 18 در rc_mdm_create_my_rss_box() دو URL اضافه کردیم. به سادگی آن را با:

جایگزین کنید

// فهرست فیدهای من
if (!$my_feeds = get_option('rc_mdm_dashboard_widget_options'))
    $my_feeds = array();

و بس! ما موفق شدیم گزینه های سفارشی را به راحتی به ویجت داشبورد اضافه کنیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا