wordpress日期格式更改功能

时间:2017-08-08 09:23:19

标签: php wordpress date

我正在使用以下功能从高级自定义字段pro插件获取日期

我的下面的代码显示了选项中的日期

我希望日期格式不同

 <!--event_start_date-->
            <?php if( get_field('event_start_date') ): ?>
            Event start date:
            <?php the_field('event_start_date'); ?><br/>
            <?php endif; ?>

            <!--Event end date-->
            <?php if( get_field('event_end_date') ): ?>
            Event end date:
            <?php the_field('event_end_date'); ?><br/>
            <?php endif; ?>

我使用下面的代码来更改格式但不能正常工作,这里the_field('event_start_date');直接显示没有打印/回显

$new_date = date("d-M-Y", strtotime(the_field('event_start_date')));
echo $new_date;

1 个答案:

答案 0 :(得分:0)

直接的方法是使用ob_get_clean()来捕获输出,如下所示:

<!--Event end date-->
<?php if( get_field('event_start_date') ): ?>
Event end date:

<?php 
ob_start();

the_field('event_start_date');
$date_string = ob_get_clean();
$new_date = date("d-M-Y", strtotime($date_string));
echo $new_date;    
?>
<br/>
<?php endif; ?>

这有点矫枉过正。如果你能在插件中找到一个返回数据而不是输出数据的函数,那就最好了。

通过documentation查看acf插件,函数get_field()执行此操作。

根据acf文档,日期的存储方式略有不同。 https://www.advancedcustomfields.com/resources/date-picker/

$date_string = get_field('event_start_date',false,false)
$date = new DateTime($date_string);
$new_date = $date->format('d-M-Y');
echo $new_date;