显示2个自定义日期选择器字段的日期范围



我已经用ACF创建了两个自定义日期拾取器字段(beginning_date和completion_date),并且需要将它们作为日期范围输出/显示。

例如,如果beginning_date Year和completion_date Year相等,我需要输出beginning_date日/月-完成日/月/年。

这些字段使用的显示和返回格式为:l, F j, Y

我到处都找过了!并尝试实现这一点:创建显示日期范围从两个日期在ACF在Wordpress

我还试图将字段转换为datetime对象,但将这些字段作为日期进行比较似乎是错误的方式!我不知道我还在什么地方失败了……我又开始了,因为到目前为止没有任何工作,所以我没有代码可以在这里发布,因为我最终删除了一个弗兰肯斯坦的代码片段,然后来到这里寻求绝望的帮助!

在你的functions.php

function date_compare($id){

$start_date = get_field('beginning_date', $id);
$end_date = get_field('completion_date', $id);

$start_year = wp_date("Y", strtotime( $start_date ) );
$end_year = wp_date("Y", strtotime( $start_date ) );

$start_month = wp_date("n", strtotime( $start_date ) );
$end_month = wp_date("n", strtotime( $start_date ) );

$date_output = '';

$start_date_format = "l, F j, Y";

if( $start_date && $end_date ){

if( $start_year == $end_year && $start_month == $end_month ){
$start_date_format = "l j";
}
elseif( $start_year == $end_year){
$start_date_format = "l, F j";
}
}


if( $start_date ){
$date_output .= wp_date($start_date_format, strtotime( $start_date ) );
}

if( $end_date ){
$date_output .= ' - ' . wp_date("l, F j, Y", strtotime( $end_date ) );
}

return $date_output;
}

和在你的主题:

echo date_compare($post->ID);

相关内容

  • 没有找到相关文章

最新更新