当用户将日期字段留空并保存时,如果该字段为空,则数据库中的日期将显示为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 );
1条答案
按热度按时间izkcnapc1#
使用
而不是