【问题标题】:wordpress date format change functionwordpress 日期格式更改功能
【发布时间】:2017-08-08 09:23:18
【问题描述】:

我正在使用以下函数从高级自定义字段专业插件中获取日期

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

我希望日期格式不同

 <!--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;

【问题讨论】:

  • 尝试替换 $new_date = date("d-M-Y", strtotime(the_field('event_start_date')));回声 $new_date; with $new_date = date("d-M-Y", strtotime(get_field('event_start_date')));回声 $new_date;
  • 运气不好,工作格式但没有转换现有日期它显示函数 01-Jan-1970 的开始日期,实际上我的日期函数显示 30/11/2017 像这样,我想要 30 -2017 年 11 月

标签: php wordpress date


【解决方案1】:

直接的方法是使用 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;

【讨论】:

  • 不走运,它会像这样显示 01-jan-1970 的日期
  • 你希望它是什么样子的?
  • 现在是 30/11/2017 我想要像 30-nov-2017
  • 您应该检查字段名称是否正确以及设置的日期是否正确。该代码将以 d-M-Y 格式给出输出日期。
  • 该字段直接显示值不能分配或传递给日期格式
【解决方案2】:

今天我在从 ACF 字段转换日期格式时遇到了同样的问题。所以我使用了简单的 WordPress 方法,它对我有用。像这样:

$startdate = get_post_meta(get_the_ID(), 'event_start_date', true);

然后改变你想要的格式:

date("jS", strtotime($startdate));

event_start_date 是我的 acf 字段名称。

它对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-19
    • 2011-06-05
    • 2016-11-22
    相关资源
    最近更新 更多