2012-11-18 62 views
0

在save_post上,如果此meta_key不存在,我希望將過期日期(現在+30天)添加到帖子中,否則什麼也不做。
我試着用這個代碼在我function.php:
僅在需要時更新定製wordpress元字段的日期

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

確認後不是一個修訂版,我更改代碼略低:

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); 
    } 
    } 
} 
+0

謝謝你,現在看來進展順利 – Avionicom

+0

不客氣。請考慮接受答案。 – m4t1t0