meta无法正常工作

meta无法正常工作

我正在修改一个现有的插件,我想给表单添加一个新的字段,然后将该字段与帖子一起提交。该帖子将提交给wp_posts。我在Google上读到,要做到这一点,只需要使用update_post_meta。我正在尝试将数据插入到我在PHPMyAdmin中创建的新列中。我把这个专栏命名为post_amount。字段名为amount_field。虽然我是一个初学者,但我读过的一些关于“只使用update_post_meta”的东西似乎太简单了,不足以满足我的所有需求。但我可能错了。也许我用错了?
注意-这整个尝试是因为我想在wp_posts表中创建一个新列,并在每个posts中添加数据。这是正确的方法吗?我看到了“meta_key”和“meta_value”这两个词,这让我认为这实际上会导致在wp_postreta表中添加数据……或者这是预期的目的地?

$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

最佳答案

我认为你更新post_id时出错了。
update_post_meta($post_id, 'post_amount', $post_amount);
您没有帖子的ID或要更新的ID。
$post_id参数声明为在上述代码中插入post。
$post_id = wp_insert_post($question_array);因此,update post查询未找到ID。
你需要ID来更新post meta。它找不到任何id,因此没有更新meta_key。对不起我的英语。
尝试使用add_post_meta而不是update_post_meta
查看Reference

关于php - WordPress:update_post_meta无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32929880/

10-10 14:12
查看更多