php 如果日期字段为空,则不要在数据库中保存任何内容

x759pob2  于 2023-05-16  发布在  PHP
关注(0)|答案(1)|浏览(102)

当用户将日期字段留空并保存时,如果该字段为空,则数据库中的日期将显示为03-20-0621。我使用Parsi Date插件将公历日期转换为jalali(shamsi)。以下代码将日期以Gregorian格式存储在数据库中:

/**
 *  This filter is applied to the $value before it is saved in the db
 *
 * @param           $value (mixed) the value found in the database
 * @param           $post_id (mixed) the $post_id from which the value was loaded
 * @param           $field (array) the field array holding all the field options
 *
 * @return          false|string $value
 * @since           4.0.0
 */
function update_value( $value, $post_id, $field ) {
    if ( ! wpp_is_active( 'acf_persian_date' ) ) {
        $value = gregdate( 'Y-m-d', $value );
    }

    return apply_filters( 'wpp_acf_before_update_jalali_date', $value );
}

但是如果日期字段为空,则不需要在数据库中保存任何内容。我使用下面的代码来编辑函数,但是如果日期字段为空,则日期在数据库中存储为0621-03-20。

function customize_update_value( $value ) {
    if ( ! empty( $value ) ) { return $value; }
} add_filter( 'wpp_acf_before_update_jalali_date', 'customize_update_value', 10, 1 );
izkcnapc

izkcnapc1#

使用

if (  $value !='1970-01-01' ) { return $value; }

而不是

if ( ! empty( $value ) ) { return $value; }

相关问题