我的WordPress网站上有一个问题。我有几个由prog创建的帖子:
$post_id= wp_insert_post( $post);
之后,我想在这个新创建的帖子中添加自定义字段。所以我用:
add_post_meta( $post_id, 'Meta_key', 'Meta_value' );
它运作良好,创建帖子并在帖子中正确输入自定义字段的值。但是,前端似乎无法显示我的自定义字段的内容,因为似乎没有创建自定义字段。我能让它发挥作用的唯一方法就是通过我的帖子并按下发布按钮。
通过这样做,我在数据库中看到它添加了meta_key _nameofmycustumfield
和带有自定义字段键的meta_value:field_545ba53261f65
。
但是当我尝试使用wp_update_post()
通过prog更新帖子时,它似乎没有更新帖子,就像我点击发布按钮一样,因为它没有插入meta_key和带有自定义字段的meta_value键。数据库只包含一行,其中包含我在使用add_post_meta()
时添加的自定义字段的实际值。
任何人都知道如何解决这个问题?
答案 0 :(得分:0)
当我必须按照你的描述进行操作时,我会使用acf插件。
首先,我创建一个帖子类别,然后为该类别设置一个acf字段组。
之后,我使用与您相同的方法,但我在$ my_post var中指定了正确的类别。创建帖子并归类类别后,acf会创建正确的元字段。然后我用正确的值更新。
// Create post object
$my_post = array(
'post_title' => $title,
'post_content' => '',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array(5)
);
// Insert the post into the database
$my_ID = wp_insert_post( $my_post );
update_post_meta($my_ID, 'first-name', $fname);