【问题标题】:wordpress update_post_meta and get_post_metawordpress update_post_meta 和 get_post_meta
【发布时间】:2013-10-12 01:03:23
【问题描述】:

我目前正在为 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 将保留其价值。

有什么想法吗?

【问题讨论】:

    标签: post wordpress meta


    【解决方案1】:

    $post_id = wp_insert_post( $my_post );

    如果帖子成功插入,这只会返回$post_id

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多