2011-12-31 88 views
0

在wordpress中,我需要對其進行編程,以便任何時候有人輸入或更新稱爲「start_date」的後期元,一小段代碼在保存前輸入的內容上運行。Wordpress過濾器添加meta?

我需要採取什麼輸入並將其轉換爲unix時間戳。

有沒有辦法做到這一點?

如果不是,有沒有辦法在發佈或更新帖子時添加代碼,以便它檢查該元並根據需要更新它?

回答

0

假設您使用插件創建元框和自定義字段,可以執行以下操作。否則,這取決於他們如何保存數據,因爲它可能會覆蓋你的數據。

雖然取決於具體情況,但還是可以開始使用。

add_action('save_post', 'update_the_post_meta', 100, 2); 
function update_the_post_meta($post_id, $post) { 

    if (defined('DOING_AJAX') && DOING_AJAX) { return; } 
    if (defined('DOING_CRON') && DOING_CRON) { return; } 
    if ($post->post_type == 'revision') { return; } 

    if (isset($_REQUEST['start_date'])) : 
     //do your timestamp code here and save it in $timestamp 
     add_post_meta($post_id, 'start_date', $timestamp, true) or update_post_meta($post_id, 'start_date', $timestamp); 
    else : 
     delete_post_meta($post_id, 'start_date'); 
    endif; 

} 

現在add_action的優先級設置爲100(數字越高,優先級越低)。所以,如果你想覆蓋別人的功能,你可能需要增加優先級號碼。另外,這是假設輸入字段的名稱是「start_date」。