Обновление поста WordPress не работает с add_post_meta

У меня есть проблема на моем сайте WordPress. У меня есть несколько сообщений, которые создаются с помощью прог с:

$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()Похоже, что он не обновляет сообщение, как если бы я нажимал на кнопку публикации, потому что он не вставляет meta_key и meta_value с ключом настраиваемого поля. БД содержит только 1 строку с реальным значением моего настраиваемого поля, которое я добавляю при использовании add_post_meta(),

Кто-нибудь знает, как решить эту проблему?

0

Решение

Когда я должен сделать то, что вы описываете, я использую плагин acf.

Сначала я создаю категорию сообщений, а затем настраиваю группу полей acf для этой категории.

После этого я использую тот же метод, что и вы, но я указываю правильную категорию в переменной $ my_post. Когда сообщение создано и категория приписана, 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);
0

Другие решения

Других решений пока нет …