توجه به کلاس WP_REST_Widgets_Controller در وردپرس

wordpress wp rest widgets controller
04 تیر 1404

آشنایی با WP_REST_Widgets_Controller

کتابخانه وردپرس شامل کلاس‌های مختلفی است که وظیفه مدیریت بخش‌های مختلف سایت را بر عهده دارند. یکی از این کلاس‌ها، WP_REST_Widgets_Controller است که به ما این امکان را می‌دهد تا با ویجت‌ها از طریق REST API وردپرس کار کنیم. ممکن است شما بخواهید که ویجت‌ها را به سادگی از طریق کدها مدیریت و کنترل کنید، و این کلاس به شما امکانات لازم برای اینکار را می‌دهد.

چیزی که باید در نظر داشته باشید این است که WP_REST_Widgets_Controller به شما اجازه می‌دهد تا بتوانید درخواست‌هایی به سرور بفرستید و داده‌هایی مثل اضافه کردن، حذف و به‌روزرسانی ویجت‌ها را انجام دهید. در پروژه‌های بزرگ‌تر، این توانایی لازم است تا بتوانیم ویجت‌ها را به راحتی و از طریق API مدیریت کنیم. به عبارتی دیگر، شما می‌توانید با کمک این کلاس، فضای نحوه تعامل با ویجت‌ها را بهبود ببخشید.

در کد زیر، شاهد یک نمونه از توابع مرتبط با این کلاس هستیم. توابع این کلاس به ما کمک می‌کنند تا بتوانیم ویجت‌ها را ثبت کنیم و درخواست را به سرور ارسال کنیم. همچنین، در این کد نحوه‌ی ثبت این ویجت‌ها به REST API نشان داده شده است.

نمونه کد

function my_register_widget_routes() {
register_rest_route('myplugin/v1', '/widgets', array(
'methods' => 'GET',
'callback' => 'my_get_widgets',
));
}
add_action('rest_api_init', 'my_register_widget_routes');

function my_get_widgets() {
return array(
'widget-1' => 'First Widget',
'widget-2' => 'Second Widget',
);
}

توضیح کد


کد: function my_register_widget_routes() {
این تابع، برای ثبت مسیرهای جدید در REST API طراحی شده است.

کد: register_rest_route('myplugin/v1', '/widgets', array(...));
در این خط، یک مسیر جدید به API ثبت می‌شود که با استفاده از متد GET قرار است ویجت‌ها را برگرداند.

کد: add_action('rest_api_init', 'my_register_widget_routes');
این خط، تابع my_register_widget_routes را به اکشن 'rest_api_init' متصل می‌کند تا زمانی که API بارگذاری می‌شود این تابع هم اجرا شود.

کد: function my_get_widgets() {
این تابع، برای برگرداندن لیستی از ویجت‌ها طراحی شده است.

کد: return array('widget-1' => 'First Widget', 'widget-2' => 'Second Widget');
در این خط، یک آرایه شامل ویجت‌ها برگشت داده می‌شود که در API قابل مشاهده هستند.

سوالات متداول

؟

WP_REST_Widgets_Controller چه کاربردی دارد؟

؟

چگونه می‌توانم ویجت جدیدی اضافه کنم؟

؟

آیا می‌توانم ویجت‌ها را از طریق API حذف کنم؟

؟

چگونه می‌توانم اطلاعات ویجت‌ها را به دست آورم؟