زمینه دلخواه انتخاب ACF Select

زمینه دلخواه انتخاب ACF Select

یکی از زمینه های پرکاربرد افزونه Advanced Custom Field زمینه دلخواه انتخاب ( ACF Select ) است. با استفاده از این زمینه شما قادر به ایجاد یک زمینه از نوع Select ( لیست کشویی ) با تنظیماتی چون انتخاب تکی و یا چند انتخابی باشید. قبل از هر چیز این آموزش نیازمند آشنایی با زمینه های دلخواه پیشرفته Advanced Custom Fields است. پیشنهاد می کنیم قبل از استفاده از این آموزش حتما این مقاله را مطالعه کنید.

دو ویژگی پر کاربردی که به این زمینه اضافه شده است، ویژگی ظهر بهینه شده و فرمت بازگشت مقادیر است که ویژگی ظاهر بهینه شده از نسخه 5.0.0 افزونه و از نسخه 5.4.0 نیز ویژگی فرمت بازگشت به این زمینه اضافه شده که در صورت استفاده از نسخه های قبل تر امکان استفاده از این زمینه ها موجود نمی باشد.

تنظیمات زمینه دلخواه انتخاب ( Settings )

انتخاب ها ( Choices )

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

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

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

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

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

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

انتخاب چند مقدار ( Multiple )

در صورتی که قصد دارید بیشتر از یک گزینه از گزینه های زمینه را انتخاب کنید این قسمت را فعال کنید.

ظاهر بهینه شده ( Stylized UI )

با فعال کردن این گزینه، زمینه دلخواه از کتابخانه جاوا اسکریپت Select2 استفاده می کند که ویژگی هایی چون جستجو آژاکس میان گزینه را به زمینه اضافه می کند.

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

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

تنظیمات زمینه دلخواه انتخاب ACF Select
تنظیمات زمینه دلخواه انتخاب ACF Select
زمینه دلخواه انتخاب ACF Select
زمینه دلخواه انتخاب ACF Select

نمایش زمینه دلخواه انتخاب ( Select ) در قالب

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

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

نمایش مقادیر ( Display Multiple Values )

در صورتی که چند مقدار انتخاب شده باشد برای نمایش مقادیر از مثال زیر استفاده کنید.

<?php
$colors = get_field( 'color' );

// Create a comma-separated list from selected values.
if( $colors ): ?>
<p>Color: <?php echo implode( ', ', $colors ); ?></p>
<?php endif; ?>

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

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

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

درصورتی که بخواهید فقط برچسب را نمایش دهید از مثال زیر استفاده کنید

<?php
	$field = get_field_object( 'color' );
	$value = $field['value'];
	$label = $field['choices'][ $value ];
?>
<p>Color: 
	<span class="color-<?php echo esc_attr($value); ?>">
		<?php echo esc_html($label); ?>
	</span>
</p>

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

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

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

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