仅在需要时更新自定义wordpress元字段的日期

时间:2012-11-18 11:38:01

标签: php wordpress function action hook

在save_post上,如果此meta_key不存在,我想将过期日期(现在+ 30天)添加到帖子中,否则不执行任何操作。
我尝试在我的function.php中使用此代码:

add_action( 'save_post', 'update_date' );
  function update_date( $post_id ) { 
  $expire = date( 'm/d/Y H:i:s', strtotime( '+' . '30' . ' days' ) );
  $meta_exist = get_post_meta($post_id, 'expire_date', true);
  if ($meta_exist == ''){
    add_post_meta( $post_id, 'expire_date', $expire, true );
  }
}

但是我注意到这种方式它总是更新日期,如果它已经定义了。

如何仅在需要时添加日期?

1 个答案:

答案 0 :(得分:1)

验证帖子不是修订版,我稍微更改了您的代码:

add_action( 'save_post', 'update_date' );
function update_date( $post_id ) {
  if (!wp_is_post_revision($post_id)) {
    $expire = date( 'm/d/Y H:i:s', strtotime( '+' . '30' . ' days' ) );
    $meta_exist = get_post_meta($post_id, 'expire_date', true);
    if (!$meta_exist){
      add_post_meta( $post_id, 'expire_date', $expire, true );
    }
  }
}