更新 Wordpress 帖子add_post_meta不起作用


Updating a Wordpress post not working with add_post_meta

我的WordPress网站上有一个问题。我有几个帖子是由prog创建的:

$post_id=  wp_insert_post( $post);

之后,我想在这个新创建的帖子中添加自定义字段。所以我使用:

add_post_meta( $post_id, 'Meta_key', 'Meta_value' );

它运行良好,帖子已创建,并在帖子中正确输入了自定义字段的值。但是,前面似乎无法显示我的自定义字段的内容,因为似乎没有创建自定义字段。我能让它工作的唯一方法是继续我的帖子并按下发布按钮。

通过这样做,我在数据库中看到它添加了具有自定义字段键的meta_key _nameofmycustumfield和meta_value:field_545ba53261f65

但是当我尝试通过 prog 更新帖子时 wp_update_post() ,它似乎没有像我单击发布按钮那样更新帖子,因为它没有插入带有自定义字段键的meta_key和meta_value。数据库仅包含 1 行,其中包含我在使用 add_post_meta() 时添加的自定义字段的实际值。

有人知道如何解决这个问题吗?

当我必须按照您的描述进行操作时,我使用 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);