استفاده از فیلد Time Picker یا زمان افزونه advanced custom fields

استفاده از فیلد Time Picker یا زمان افزونه advanced custom fields

سورس کد نمایش ساعت در افزونه زمینه ساز ACF وردپرس

فیلد Time Picker افزونه advanced custom fields که به فارسی “انتخاب زمان” معنی شده دکمه ای برای یک انتخاب کننده ساعت خاص و برگشت مقدار مربوطه می باشد.

تنظیمات

  • لازم است : برای اجباری کردن فیلد بر روی بله تنظیم شود.
  • فرمت نمایش : نوع دلخواه نمایش تاریخ را انتخاب کنید.
  • فرمت بازگشت : نوع دلخواه مقدار بازگشتی تاریخ را انتخاب کنید که برنامه نویس برای پردازش اطلاعات از آن استفاده خواهد کرد.
  • منطق شرطی : برای ایجاد وابستگی به مقادیر فیلد های دیگر و شرط نمایش یا مخفی سازی فیلد مربوطه برای مدیریت بهتر بر روی فرم .

نمایش اطلاعات

نمایش ساعت انتخاب شده

فراموش نکنید به جای field_name نام فیلد خود را قرار می دهید.

<?php the_field('field_name'); ?>

کوئری ساعت

در مثال زیر کوئری نوشته ایم تا مطالب را بر اساس ساعت تنظیم شده نمایش داده شود . ابتدا ۱۴ فیلد انتخاب ساعت ساخته ایم که هر روز شامل دو فیلد شروع و پایان می شود تا ساعت کاری را تنظیم کنیم.

نام گذاری فیلد ها به صورت روز هفته و عبارت open_time برای تنظیم ساعت شروع باشد . مثال ساعت شروع روز دوشنبه “monday_open_time”

و فیلد ساعت پایان آن روز به صورت روز هفته و عبارت close_time باشد که مثال برای ساعت پایان کاری روز دوشنبه می شود “monday_close_time”

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

<?php

// Find today's day of the week.
$today = date('l');
$today = strtolower( $today );

// Find current time.
$time = date('H:i:s'); 

// Query events using custom fields in meta_query.
$posts = get_posts(array(
    'posts_per_page'    => -1,
    'meta_query'        => array(
        'relation'          => 'AND',
        array(
            'key'           => $today.'_open_time',
            'compare'       => '<=',
            'value'         => $time,
            'type'          => 'TIME'
        ),
        array(
            'key'           => $today.'_close_time',
            'compare'       => '>=',
            'value'         => $time,
            'type'          => 'TIME'
        )
    )
));

if( $posts ): ?>

    <h2>Stores open now</h2>
    <ul id="events">
        <?php foreach( $posts as $p ): ?>
            <li>
                <strong><?php echo $p->post_title; ?></strong>: 
                <?php echo $today; ?> <?php the_field( $today.'_open_time', $p->ID ); ?> -  <?php the_field( $today.'_close_time', $p->ID ); ?>
            </li>   
        <?php endforeach; ?>
    </ul>

<?php endif; ?>

مطالب بیشتر

نظرات

guest
0 نظرات
بازخورد (Feedback) های اینلاین
View all comments