Я использую плагин Advance Custom Fields для создания некоторых настраиваемых полей. При создании нового сообщения или сообщения обновления мне нужно использовать api (vimeo), чтобы принимать значения в другое настраиваемое поле.Как взять пользовательское значение поля (плагин ACF) в WordPress save_post?
Пример:
- -поля: Идентификатор видео
- -поля: длительность поле
- 3: игры рассчитывать
Я введите значение в первом поле, нажмите кнопку "Опубликовать" и использовать этот крюк:
add_action('save_post', 'vimeo_api', 10, 2);
function vimeo_api($post_id, $post) {
// request to vimeo with video ID
update_post_meta($post_id, 'video-duration', $vimeo_single['body']['duration']);
update_post_meta($post_id, 'video-plays', $vimeo_single['body']['stats']['plays']);
}
I f Я с жестким кодом vimeo ID - он работает!
Но я не могу получить значение из поля 1.
Например, я могу получить значение заголовка сообщения, как это:
$title = $post->post_type;
Но это не работает с полем АКФ.
В инструментах разработчика я вижу это в "шапках" на вкладке, форма данных:
_wpnonce:83ab5bcf5f
_wp_http_referer:/wp-admin/post.php?post=37&action=edit&message=1
user_ID:1
action:editpost
originalaction:editpost
post_author:1
post_type:video
...
fields[field_5423b0bb92209]:
fields[field_5423aff492207]:103222207
fields[field_5423b04192208]:
fields[field_5424dd92c4f3d]:
Это возвращение ошибки предупреждение: Illegal строка смещения:
$vimeo_id = $post->fields['field_5423aff492207'];