Хук на Post
Помогите решить вопрос, я использую вот этот код
add_action('wp_insert_post_data', array($this, 'nts_check_update_post'), 10, 3);
моя функция nts_check_update_post срабатывает тогда как я обновляю пост вручную, можно ли как-то вызвать эту функцию в момент открытия поста в админке ? Спасибо.
Какие переменный использует ваша функция?
Для старого редактора, можно использовать например action
edit_form_advanced или edit_form_top или post_edit_form_tag
add_action('edit_form_advanced', 'action_function_name_5085'); function action_function_name_5085( $post ){ if ($post->post_type == 'ваш_post_type' && $post->post_status == 'publish') { // тут действия вашей функции } }Вот так она выглядит
function nts_check_update_post($data, $post) { if ($data['post_type'] == 'post' && $data['post_status'] == 'publish') { if (isset($post['nts_icon'])) { $link = get_field_object('link',$post['ID']); NTS_Parser::parseAndSetPostIcon($post['ID'], [ 'nts_icon' => $post['nts_icon'], 'link' => $post['acf'][$link['key']] ]); } } return $data; }А для какой цели вы хотите при открытии обновлять иконку?
Прикол в том, что при открытии в админке (использовав хуки выше), у вас будет только объект поста $post.
nts_icon - у вас лежит где-то в мета-полях?
Вам нужно будет написать еще одну функцию. Примерно так:
add_action('edit_form_advanced', 'action_function_name_5085'); function action_function_name_5085($post){ if ($post->post_type == 'post' && $post->post_status == 'publish') { // Этот код выполнится, при открытии опубликованной записи на редактирование в админке. // Замечу - каждый раз при открытии. } }у меня в произвольном поле лежит ссылка на сторонний сайт, я при открытии хочу тянуть ее значения, потом я вытаскиваю все фав иконки сайта и вывожу их на страничке поста, это все срабатывает только при обновлении, что не удобно для админа. Извините что может не понятно объясняю суть вопроса, мой опыт в php и wp только два месяца))
Попробовал вашу написать через вашу функцию но дело в том что в $post нету произвольных полей и их значений
Текущие данные поста можно получить с помощью