更新时间:2023-11-09 22:59:46
我看到你使用 ACF 插件来创建自定义字段,这意味着你可以使用 acf/save_post
过滤器来做这样的事情.
1.检查我们是否保存帖子类型offer"
2. 检查我们是否有自定义字段 'offer_evergreen' 值为 'evergreen-yes'
3. 检查我们是否有自定义提交的offer_voucher_deadline",如果是 - 更新他.
4. 如果我们没有自定义提交的offer_voucher_deadline",请创建他并保存我们的数据.
I see you use ACF plugin to create custom field which means you can use acf/save_post
filter to do this something like this.
1. Check if we save post type 'offer'
2. Check if we have custom field 'offer_evergreen' with value 'evergreen-yes'
3. Check if we have custom filed 'offer_voucher_deadline' if yes - update him.
4. If we do not have custom filed 'offer_voucher_deadline' create him and save
our data.
add_filter('acf/save_post', 'update_voucher_deadline', 20);
function update_voucher_deadline($post_id) {
if ( get_post_type($post_id) != 'offer' ) //if current post type not equal 'offer' return
return;
$year = date('Y');
$month = date('m');
$currentDate = "". $year . "-" . $month . "-" . date('d') . date('H') . ":" . date('i') . ":" . date('s');
$day = date("t", strtotime($currentDate));
$endOfMonth = "". $year . "-" . $month . "-" . $day . "23:59:00";
if ( get_field('offer_evergreen') == 'evergreen-yes' ) {
if ( get_post_meta( $post_id, 'offer_voucher_deadline', true ) ) //If get post meta with key 'offer_voucher_deadline' - update meta
update_post_meta($post_id, 'offer_voucher_deadline', $endOfMonth);
else //else if do not have post meta with key 'offer_voucher_deadline' create post meta
add_post_meta( $post_id, 'offer_voucher_deadline', $endOfMonth);
} else {
return; //Remove return and add what you want to save, if offer_evergreen not equal to evergreen-yes
}
}