ACF中继器字段日期格式

问题描述 投票:0回答:1

我有一个新问题,我正在尝试用法语更改转发器字段的日期格式!

<?php $rows = get_field( 'evenement' ); ?>
<?php
$first_row_date = $rows[0]['date_debut_evenement'];
$last_row = end( $rows );
$last_row_date = $last_row['date_debut_evenement']; 
?>

<?php if( $last_row_date != $first_row_date ) : ?> 
<div class="bloc-date">
Du <?php echo $first_row_date; ?> au <?php echo $last_row_date; ?>
</div>
<?php else: ?>
<div class="bloc-date">
Le <?php echo $first_row_date; ?>
</div>
<?php endif; ?>

在另一个页面中,我的代码运行良好,显示法语格式日期:

<?php 
    $dateformatstring = "D d M Y";
    $start_date = strtotime(get_sub_field('date_debut_evenement', false, false));
    $finish_date = strtotime(get_sub_field('date_fin_evenement', false, false));
    ?>      

    <div class="bloc-date" style="display:inline-block;">
    <?php if ($start_date == $finish_date) {
    echo date_i18n($dateformatstring, $start_date);
    } else {
    echo "Du "; echo date_i18n($dateformatstring, $start_date); echo " au ";
    echo date_i18n($dateformatstring, $finish_date);
    }?>     
    </div>

谢谢 !

date repeater advanced-custom-fields
1个回答
0
投票

您应该尝试使用evenement第二个参数检索false字段,如下所示: $rows = get_field( 'evenement', false, false ); 第一个false代表当前帖子,而第二个告诉ACF获取原始数据,而不试图以另一种日期格式转换它。

然后通过插入$dateformatstring = "D d M Y";行并使用date_i18n()来调整您的工作示例中的代码。

© www.soinside.com 2019 - 2024. All rights reserved.