آشنایی با متد to_json() در کلاس WP_Customize_Color_Control
اگر شما هم از وردپرس استفاده میکنید، احتمالاً با کلاسها و متدهای آن آشنا هستید. کلاس WP_Customize_Color_Control
یکی از کلاسهای مهم در سیستم سفارشیسازی وردپرس است. این کلاس به شما این امکان را میدهد که کنترلهای رنگ را برای قابلیتهای سفارشیسازی در پنل مدیریت وردپرس اضافه کنید. متد to_json()
یکی از متدهای کلیدی در این کلاس است که به شما کمک میکند تا دادههای مربوط به کنترل رنگ را به یک فرمت JSON تبدیل کنید.
ایجاد یک کنترل رنگ معمولاً به همراه برخی از تنظیمات اولیه و ویژگیها انجام میشود. با استفاده از متد to_json()
، شما میتوانید اطلاعات مربوط به کنترل رنگ را بهآسانی به جاهای دیگری بفرستید، مثلاً برای بارگذاری در جاوااسکریپت. این متد دادههایی از جمله نام، اولویت و مقدار پیشفرض رنگ را بازمیگرداند. در واقع، این متد کار تبدیل شیء PHP به یک ساختار قابل استفاده در جاوااسکریپت را انجام میدهد.
به این ترتیب، اگر شما بخواهید که رنگها را در پنل شخصیسازی وردپرس تغییر دهید، و بخواهید تغییرات را به سرعت و روان از سمت کاربر مشاهده کنید، به این متد نیاز خواهید داشت. معمولاً این متد در زمانی استفاده میشود که شما بخواهید اطلاعات تنظیمات را به جاوااسکریپت بفرستید تا وقتی که کاربر تغییرات را اعمال میکند، آنها را به روز کنید.
در کد زیر، نمونهای از نحوه استفاده از to_json()
را مشاهده خواهید کرد. در این نمونه، ما یک کنترل رنگ جدید ایجاد کرده و سپس از متد to_json()
برای ارسال اطلاعات آن به جاوااسکریپت استفاده میکنیم.
$wp_customize->add_setting( 'site_color', array( 'default' => '#000000' ) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'site_color_control', array(
'label' => __( 'Site Color', 'textdomain' ),
'section' => 'colors',
'settings' => 'site_color',
) ) );
// تبدیل اطلاعات کنترل رنگ به JSON
$color_control = new WP_Customize_Color_Control( $wp_customize, 'site_color_control', array() );
$json_data = $color_control->to_json();
در کد بالا، ما ابتدا یک تنظیم جدید به نام site_color
اضافه میکنیم که رنگ پیشفرض آن مشکی (#000000) است. سپس یک کنترل رنگ به آن تنظیم اضافه میکنیم که شامل برچسب و بخش مربوطه است. در نهایت، با استفاده از to_json()
، اطلاعات کنترل را به فرمت JSON تبدیل کرده و در متغیر $json_data
ذخیره میکنیم.
توضیحات خط به خط کد
$wp_customize->add_setting( 'site_color', array( 'default' => '#000000' ) );
این خط یک تنظیم جدید با نام site_color
به سفارشیسازی وردپرس اضافه میکند و رنگ پیشفرض آن را مشکی تعیین میکند.
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'site_color_control', array( ... ) ) );
این خط یک کنترل رنگ جدید به تنظیمات اضافه میکند و شامل برچسب و بخشی است که کنترل در آن نمایش داده میشود.
$color_control = new WP_Customize_Color_Control( $wp_customize, 'site_color_control', array() );
با این خط، یک نمونه از کلاس WP_Customize_Color_Control
ایجاد میشود که به ما اجازه میدهد تا از متدهای آن استفاده کنیم.
$json_data = $color_control->to_json();
در این خط، اطلاعات کنترل رنگ به فرمت JSON تبدیل میشود و در متغیر $json_data
ذخیره میگردد.