استفاده از فیلد Date Picker یا تاریخ افزونه advanced custom fields

استفاده از فیلد Date Picker یا تاریخ افزونه advanced custom fields

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

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

تنظیمات

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

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

نمایش تاریخ انتخاب شده

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

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

عملیات محاسباتی بر روی تاریخ

در این مثال ما یک روز بعد از تاریخ مربوطه را روز اتمام در نظر گرفته ایم و با این صورت مسئله کدی را برای شما مثال زدیم که می توانید برای محسابات خود الگو برداری کنید.

<?php 

// Load field value.
$date_string = get_field('field_name');

// Create DateTime object from value (formats must match).
$date = DateTime::createFromFormat('Ymd', $date_string);

// Output current date in custom format.
?>
<p>Event start date: <?php echo $date->format('j M Y'); ?></p>
<?php 

// Increase by 1 day and output again.
$date->modify('+1 day');    
?>
<p>Event end date: <?php echo $date->format('j M Y'); ?></p>

کوئری تاریخ

در مثال زیر کوئری نوشته ایم تا مطالب را بر اساس مقدار تاریخ تنظیم شده در فیلد field_name خروجی دهد.

<?php

$posts = get_posts( array(
    'meta_key'  => 'field_name',
    'orderby'   => 'meta_value_num',
    'order'     => 'ASC',
));

if( $posts ) {
    foreach( $posts as $post ) {
        // Do something.
    }
}

در این مثال دو فیلد به نام start_date برای تاریخ شروع و end_date برای تاریخ پایان تعریف کرده ایم که با استفاده از کوئری نوشته شده مطالبی نمایش داده می شود که مربوط به حالت نوشته event باشند و فیلد تاریخ آن در این بازه باشد.

<?php 

// Find todays date in Ymd format.
$today = date('Ymd');

// Query posts using a meta_query to compare two custom fields; start_date and end_date.
$posts = get_posts( array(
    'post_type' => 'event',
    'meta_query' => array(
        array(
            'key'     => 'start_date',
            'compare' => '<=',
            'value'   => $today,
        ),
         array(
            'key'     => 'end_date',
            'compare' => '>=',
            'value'   => $today,
        )
    ),
));

if( $posts ) {
    foreach( $posts as $post ) {
        // Do something.
    }
}

تبدیل به تاریخ شمسی

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

<?php
// Load field value and convert to numeric timestamp.
$unixtimestamp = strtotime( get_field('field_name') );
// Convert
echo date_i18n( "j/F/Y", $unixtimestamp );
?>

مطالب بیشتر

نظرات

guest
1 دیدگاه
بازخورد (Feedback) های اینلاین
View all comments
امیر حسین شریفی مهر

عالی