2017-08-24 112 views
0

我試圖在帖子發佈或保存時添加event_month的自定義字段。我正在使用save_post操作,並獲取包含日期的自定義字段的內容,並嘗試將該日期存儲在僅有月份的單獨自定義字段中。當保存已經創建的帖子時,這完美地工作。我已經在下面顯示了我的代碼。剛剛發佈帖子後添加元字段

add_action('save_post', 'update_event_date'); 

function update_event_date($post_id){ 

    $post_type = get_post_type($post_id); 
    $event_datee = get_post_meta($post_id, '_EventStartDate', true); 

    if ($post_type == 'tribe_events'){ 

     $month = date("m",strtotime($event_datee)); 
     update_post_meta($post_id, 'event_month', $month); 

    } 

} 

創建新帖子時出現問題。我認爲這是因爲該行爲在創建_EventStartDate元之前觸發,因此無法從中獲取該月份。

當保存/更新帖子時,鉤子正確觸發並按照預期操作,但是在創建新帖子時無法正確獲取元的月份。

我真的很感激,如果有人可以提供一些指導。

回答

1

要訪問元后與你一起過去,你可以做這樣的事情:

$event_datee = get_post_meta($post_id, '_EventStartDate', true); 
foreach($_POST['meta'] as $meta){ 
    if($meta['key'] == '_EventStartDate'){ 
      $event_datee = $meta['value']; 
     } 
}; 
+0

感謝。當要添加一個新帖子時,我收到一個錯誤'爲foreach()提供了無效參數',無論如何我要去添加一個新事件時,$ event_datee變量是空的.. –

+0

嗯,應該工作,如果你有任何該帖子的元字段。嘗試'var_dump($ _ POST);'看看你的元? – mokiSRB

+0

也嘗試改變你的鉤子的優先級,如'add_action('save_post','update_event_date',99);' – mokiSRB

相關問題