زمینه دلخواه Radio Button یا دکمه رادیویی

زمینه دلخواه Radio Button یا دکمه رادیویی در افزونه ACF

یکی از قابلیت های خوب افزونه ACF ایجاد زمینه دلخواه Radio Button یا دکمه رادیویی است، زمینه دلخواه Radio Button لیستی از ورودی های قابل بررسی را ایجاد می کند. از این زمینه میتوان به عنوان یکی از پر استفاده ترین زمینه های دلخواه نام برد. قبل از هر چیز این آموزش نیازمند آشنایی با زمینه های دلخواه پیشرفته Advanced Custom Fields است. پیشنهاد می کنیم قبل از استفاده از این آموزش حتما این مقاله را مطالعه کنید.

اغلب برای انجام بسیاری از دستورات و شرطی سازی متغیر ها ما نیاز به یک فرم رادیویی داریم که با استفاده از افزونه Advanced Custom Field ایجاد چنین قابلیتی بدون نیاز به کدنویسی میسر شده است.

دکمه رادیویی یک ویجت از نوع رابط گرافیکی کاربری است که قابلیت انتخاب یک گزینه از میان انتخاب های موجود را فراهم می کند. استفاده از زمینه دلخواه Radio Button بسته به نوع نیاز کاربر متفاوت است.

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

تنظیمات زمینه دلخواه Radio Button

انتخاب ها ( Choices )

در این قسمت گزینه های «انتخاب ها» لازم را وارد می کنیم. هر انتخاب در یک خط جدا قرار می گیرد، در هر خط ابتدا مقدار انتخاب و سپس برچسب «نام نمایشی» انتخاب در پنل مدیریت قرار می گیرد، و این دو از طریق کالن یا دو نقطه ساعتی : از هم جدا می شوند. نکته قابل توجه پذیرش HTML در قسمت نام نمایشی است.

نکته: هر خط میتواند شامل فقط مقدار شود و وارد کردن نام نمایشی اختیاری است. موارد ذکر شده در تصاویر کاملا مشخص شده است.

آیا Null مجاز است؟ ( Allow Null )

این گزینه جهت پذیرش مقادی تهی است در زمینه دلخواه انتخاب است. یک زمینه انتخاب میتواند بدون مقدار باشد. این گزینه در نسخه 5.3.8 به افزونه اضافه شده و در نسخه های قبل تر در دسترس نیست.

مقدار پیشفرض ( Default Value )

مشخص میکند به صورت پیشفرض کدام گزینه انتخاب شده باشد. در این قسمت فقط مقدار گزینه مورد نظر وارد می شود نه برچسب آن.

دیگر ( Other )

این گزینه یگ گزینه دیگر یا سایر موارد به گزینه ها اضافه می کند که با انتخاب Other در بخش تنظیمات زمینه یک گزینه دیگر به نام ذخیره دیگر ( Save Other ) به تنظیمات زمینه اضافه می شود که برای ذخیره گزینه اضافه شده در ویرایش پست است. این گزینه در نسخه 4.1.7 به افزونه اضافه شده و در نسخه های قبل تر در دسترس نیست.

چیدمان ( Layout )

نوع چینش زمینه دلخواه رادیویی را مشخص می کند، این زمینه از دو حالت عمودی و افقی پشتیبانی می کند.

مقدار بازگشت ( Return Format )

مقدار برگشتی، مقداریست که در هنگام نمایش زمینه در قالب نمایش داده می شود. این مقدار می تواند مقدار زمینه، برچسب زمینه و یا هردوی آنها باشد. این گزینه از نسخه 5.4.0 اضافه شده است.

تنظیمات زمینه دلخواه Radio Button یا دکمه رادیویی
تنظیمات زمینه دلخواه Radio Button یا دکمه رادیویی
زمینه دلخواه Radio Button یا دکمه رادیویی
زمینه دلخواه Radio Button یا دکمه رادیویی

نمایش زمینه دلخواه Radio Button در قالب

نمایش مقدار ( Value )

مثال زیر مقدار انتخاب شده در صفحه ویرایش مطلب را نمایش می دهد.

<p>Color: <?php the_field('color'); ?></p>

نمایش مقدار و برچسب زمینه ( Value & Label )

مثال زیر مقدار و برچسب زمینه را نمایش می دهد. استفاده از مثال زیر فقط در صورتی امکان پذیر است که در تنظیمات زمینه بخش مقدار بازگشت ( Return Format ) برچسب زمینه یا هردو مورد انتخاب شده باشد.


<p>Color: <span class="color-<?php echo esc_attr($value); ?>"><?php echo esc_html($label); ?></span>
</p>

منطق شرطی ( Conditional logic )

همیشه برای استفاده از زمینه ها شرط پذیری یک زمینه از اهمیت بالایی برخوردار است، دستورات شرطی برای استفاده از زمینه دلخواه Radio Button بر اساس گزینه انتخاب شده، به اینصورت است. در مثال زیر شرط ما به این صورت است که در صورتی که رنگ قرمز انتخاب شد، کاری را انجام بده.

<?php 
if( get_field('color') == 'red' ) {
    // Do something.
}
?>

نمایش پست ها بر اساس مقدار دکمه رادیویی ( Query Posts )

کوئری زیر فقط پست هایی را نشان می دهد که دارای مقدار red برای زمینه color هستند.

<?php
$posts = get_posts( array(
    'meta_query' => array(
        array(
            'key'   => 'color',
            'value' => 'red',
        )
    )
) );

if( $posts ) {
    // Do something.
}
?>

زمینه های افزونه Advanced Custom Fields