首页 > 解决方案 > 将自定义分类法中的 ACF 日期字段转换为时间戳

问题描述

我正在使用高级自定义字段将日期字段添加到自定义分类(日期)条款(https://www.advancedcustomfields.com/resources/adding-fields-taxonomy-term/)。默认情况下,ACF 不会将日期作为时间戳存储在数据库中,因此我尝试将所有日期自动转换为 UNIX 时间戳,以便在前端更轻松地使用它。我遇到了这个功能,它适用于自定义帖子类型,但不适用于附加到分类术语的字段。事实上,它也不适用于帖子中 ACF 中继器字段中的日期字段。

我尝试用 $term_id 替换 $post_id 变量,但我想这并不是那么简单。在我尝试使用任何日期保存术语详细信息后,日期字段值返回为空。

function save_as_wp_date( $value, $post_id, $field ) {
    
    if( $value ) {
    $value = strtotime( $value );
         }

    return $value;    
}
add_filter('acf/update_value/type=date_picker', 'save_as_wp_date', 10, 3);


function load_as_acf_date( $value, $post_id, $field ) {
    
    if( $value ) {
        $value = date( 'Ymd', $value );
    }

    return $value;    
}

add_filter( 'acf/load_value/type=date_picker', 'load_as_acf_date', 10, 3 );

任何人都知道我应该如何编辑它以针对分类术语中的所有自定义日期字段,以及转发器字段中的日期字段?我假设我需要以某种方式将 term_id 传递给 post_id,但真的不知道该怎么做,所以所有字段都会自动受到影响。感谢帮助

标签: phpwordpressfunctionadvanced-custom-fields

解决方案


推荐阅读