0

我目前正在为 worpdress 开发一个插件,但遇到了一个奇怪的问题。

我目前有一个用户填写并提交的前端表单。提交后,它会在自定义帖子类型中创建一个帖子,具有以下功能:

$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 将保留其价值。

有任何想法吗?

4

1 回答 1

0

$post_id = wp_insert_post( $my_post );

这只会返回一个$post_id如果帖子将被成功插入

您可能会过度写同一页$post_id = wp_insert_post( $my_post );

你应该首先检查一个帖子是否'post_title' => $title已经退出,如果没有,那么只有你应该插入帖子

于 2013-10-05T05:58:23.390 回答