با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن به ویژه کاربرانی که به سیستم مدیریت محتوای قدرتمند وردپرس علاقمند هستند.
به ” دوره متخصص وردپرس ” خوش آمدید!
در این دوره قرار است توسعه و ارتقاء پلاگین های وردپرس را به صورت جامع و کامل بیاموزیم.
فرقی نمی کند که در شرف نوشتن اولین پلاگین خود هستید و یا این که پنجاهمین پلاگین خود را می نویسید! امیدوارم این دوره برایتان مفید باشد.
در جلسه قبل به طور کلی با تنظیمات API آشنا شدیم و اما در این جلسه به نحوه استفاده از تنظیمات API در ساخت پلاگین می پردازیم.
برای افزودن یک Settings باید از ()register_setting استفاده نمایید.
این تابع یک ورودی در تیبل $wpdb->prefix}_options} ایجاد می نماید.
با استفاده از ()add_settings_section می توانید بخش های جدیدی به صفحات موجود اضافه نمایید.
()register_setting و تابع ()*_add_settings ، هر دو باید به هوک اکشن admin_init اضافه شوند.
1 2 3 4 5 | register_setting( string $option_group, string $option_name, callable $sanitize_callback = '' ); |
1 2 3 4 5 6 | add_settings_section( string $id, string $title, callable $callback, string $page ); |
Sections یا بخش ها گروه تنظیماتی هستند که در صفحه تنظیمات وردپرس با عنوان مشترک مشاهده می شوند.
می توانید به جای ایجاد یک صفحه کاملاً جدید در پلاگین خود ، بخشهای جدیدی را به صفحات تنظیمات موجود اضافه کنید.
این کار سبب می شود که پلاگین شما راحتر به خاطر سپرده شده و زحمت کاربران با کمتر شدن صفحات، کاهش یابد.
1 2 3 4 5 6 7 8 | add_settings_field( string $id, string $title, callable $callback, string $page, string $section = 'default', array $args = [] ); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <?php function wporg_settings_init() { // register a new setting for "reading" page register_setting('reading', 'wporg_setting_name'); // register a new section in the "reading" page add_settings_section( 'wporg_settings_section', 'WPOrg Settings Section', 'wporg_settings_section_cb', 'reading' ); // register a new field in the "wporg_settings_section" section, inside the "reading" page add_settings_field( 'wporg_settings_field', 'WPOrg Setting', 'wporg_settings_field_cb', 'reading', 'wporg_settings_section' ); } /** * register wporg_settings_init to the admin_init action hook */ add_action('admin_init', 'wporg_settings_init'); /** * callback functions */ // section content cb function wporg_settings_section_cb() { echo '<p>WPOrg Section Introduction.</p>'; } // field content cb function wporg_settings_field_cb() { // get the value of the setting we've registered with register_setting() $setting = get_option('wporg_setting_name'); // output the field ?> <input type="text" name="wporg_setting_name" value="<?php echo isset( $setting ) ? esc_attr( $setting ) : ''; ?>"> <?php } |
1 2 3 4 | get_option( string $option, mixed $default = false ); |
دریافت تنظیمات با عملکرد ()get_option انجام می شود.
تابع دو پارامتر را می پذیرد: نام گزینه و مقدار پیش فرض اختیاری برای آن گزینه.
1 2 | // get the value of the setting we've registered with register_setting() $setting = get_option('wporg_setting_name'); |
در این جلسه با نحوه استفاده از تنظیمات API در ساخت پلاگین آشنا شدیم.
در جلسه بعدی بیشتر با گزینه های API آشنا می شویم.
با پی وی لرن همراه باشید.