我正在修改现有的插件,我想在表单中添加一个新字段,然后将该字段与帖子一起提交。帖子被提交给wp_posts。我在谷歌上看过要做到这一点,只需要使用update_post_meta
即可。我正在尝试将数据插入到我在PHPMyAdmin中创建的新列中。我将列命名为post_amount
。字段名称为amount_field
。虽然我是初学者,但我所阅读的“只使用update_post_meta
”似乎太简单了,无法满足我所需要的一切。但我可能错了。也许我用错了?
注意 - 这整个尝试是因为我想在wp_posts表中创建一个新列,并为每个帖子添加数据。这甚至是正确的方法吗?我看到单词“meta_key”和“meta_value”,这让我觉得这实际上最终会在wp_postmeta表中添加数据....或者它是预期的目的地?
$question_array = array(
'post_title' => $fields['title'],
'post_author' => $user_id,
'post_content' => apply_filters('ap_form_contents_filter', $fields['description']),
'post_type' => 'question',
'post_status' => $status,
'comment_status' => 'open',
);
if(isset($fields['parent_id']))
$question_array['post_parent'] = (int)$fields['parent_id'];
$question_array = apply_filters('ap_pre_insert_question', $question_array );
$post_id = wp_insert_post($question_array);
$post_amount = $fields['amount_field']; //My code
update_post_meta($post_id, 'post_amount', $post_amount); //My code
答案 0 :(得分:0)
我认为您在更新post_id
时犯了一个错误。
在update_post_meta($post_id, 'post_amount', $post_amount);
您没有帖子的 ID 或您想要更新的 ID 。
$ post_id 参数在上面的代码中声明为Insert Post。
$post_id = wp_insert_post($question_array);
因此,更新帖子查询未找到ID。
您需要 ID 才能更新发布元。它没有找到任何ID,因此它没有更新meta_key
。对我的英语抱歉。
尝试使用add_post_meta
代替update_post_meta
。
请参阅Reference