get_post_meta() ничего не возвращает в save_post

Рейтинг: -1Ответов: 2Опубликовано: 10.05.2023

get_post_meta() ничего не возвращает в save_post, но если обновить запись после публикации значение уже возвращает, порядок приоритета add_action менял, не помогло.

Ответы

▲ 0

По идее get_post_meta берет данные из базы. А если вы вызываете его из save_post - то эти данные в базе еще отсутствуют. Поэтому и возвращает пустое значение.

Вам надо либо пересмотреть логику работы вашего кода, либо пробовать получить требуемые данные из полей, которые пришли в save_post

▲ 0

Ошибка моя была в том что save_post_(post_type) срабатывает раньше.

add_action( 'save_post', function ( $post_id, $post ) {

  if ( $post->post_type !== 'post_type' ) {
    return;
  }

  if ( $post->post_status !== 'publish' ) {
    return;
  }
  /*
   * тут пишешь свой код
   */
}, 100, 2 );