2013-10-04 82 views
0

我目前正在爲worpdress插件,並遇到了一個奇怪的問題。WordPress的update_post_meta和get_post_meta

我目前有一個用戶填寫和提交的前端表單。一旦提交此然後創建一個自定義後類型後,具有以下功能:

$my_post = array(
    'post_title' => $title, 
    'post_type'  => 'product_enquiries', 
    'post_content' => $message, 
    'post_status' => 'private', 
    'post_author' => 1, 

); 
$post_id = wp_insert_post($my_post); 


update_post_meta($post_id, '_user_email', $_POST["email"]); 
update_post_meta($post_id, '_user_name', $_POST["name"]); 
update_post_meta($post_id, '_user_phone', $_POST["phone"]); 

wp_reset_postdata(); 

在同一頁上我也有這樣的:表單提交時

$pID = get_the_id(); 
$customemail = get_post_meta($pID, 'enquiry_email', true) ; 

出於某種原因,並然後創建帖子,它刪除$ customemail的值。我一遍又一遍地經歷過,不能解決它?

我已經嘗試將update_post_meta更改爲add_post_meta,它沒有任何區別,並且還添加了wp_reset_postdata();這再也沒有區別。

如果我刪除插入新帖子的代碼,那麼$ customemail會保留它的值。

任何想法?

回答

0

$post_id = wp_insert_post($my_post);

這隻會返回一個$post_id如果後期將$post_id = wp_insert_post($my_post);

成功插入

您可以編寫相同的頁面,你應該先檢查是否有'post_title' => $title已經退出後如果不是,那麼只有你應該插入帖子

相關問題