Получить значение ACF после обновления пользователя с помощью save_post

Как получить значение ACF после нажатия кнопки «Обновить пользователя» в меню «Пользователь». У меня есть следующий код, но он не работает:

function get_acf_value ($post_id) {    $v = get_field('field_5b1d13fce338d', $post_id);    echo $v;}add_action( 'acf/save_post', 'get_acf_value' );
<

Ответы и комментарии:

Это не совсем так. Это зависит от того, как этот код должен работать ...
Создан 11-06-2018 04:27 Krzysiek Dróżdż

@ KrzysiekDróżdż Пожалуйста, объясните ...
Создан 11-06-2018 04:45 Shibi

Я добавил ответ с моим объяснением :)
Создан 11-06-2018 04:57 Krzysiek Dróżdż

@ KrzysiekDróżdż Я знаю это, но не потому, что его код не работает с его эхом ... Я знаю, рискованно использовать 10 в качестве приоритета, но это не было проблемой в его коде.
Создан 11-06-2018 04:59 Shibi

Это зависит от того, в чем именно заключается проблема - я действительно не верю, что все, чего пытался достичь ОП, это повторить это значение;) Вот почему я не говорю, что ваш ответ неверен. Я просто говорю, что она не полная, и я публикую свою другую возможную причину, почему она не работает так, как должна :)
Создан 11-06-2018 04:33 Krzysiek Dróżdż

Привет, спасибо за ответ, однако, как я могу увидеть значение ACF, которое было обновлено?
Создан 12-06-2018 08:03 Nikko Dela Cruz

а также, я хочу поставить условие, если обновление запускается только в панели пользователей
Создан 12-06-2018 08:44 Nikko Dela Cruz

Где вы хотите это показать? Вы не можете отобразить его во время save_post - в таком случае он нигде не будет отображаться на сайте ...
Создан 12-06-2018 08:59 Krzysiek Dróżdż

Хорошо, я справился с этим с помощью журнала отладки, мой последний вопрос: как я могу сделать это только на экране / панели пользователя?
Создан 12-06-2018 09:01 Nikko Dela Cruz

@NikkoDelaCruz а у вас есть пост-редакторы на front-end? Обычно сообщения сохраняются только в бэкэнде пользователями.
Создан 12-06-2018 09:39 Krzysiek Dróżdż

Ваш код работает, но не выводит на экран ничего, потому что save_post работает в ajax. Вы можете отладить действие с помощью error_log ().
Сначала в wp-config.php вам нужно включить отладку и настроить ее на вход в файл вместо отображения
define ('WP_DEBUG', true);
define ('WP_DEBUG_DISPLAY', false);
define ('WP_DEBUG_LOG', true);

Он создаст вам файл в папке wp-content с именем debug.log
И тогда вы можете использовать error_log () для отладки следующим образом:
function get_acf_value ($ post_id) {
    $ v = get_field ('field_5b1d13fce338d', $ post_id);
    error_log ($ v);
    // Incase это массив, который вы можете использовать print_r
    error_log (print_r ($ v, true));
}
add_action ('acf / save_post', 'get_acf_value');
Создан 11-06-2018 04:16 Shibi1,427711

Как уже сказал Шиби, вывод значения во время save_post или acf / save_post не имеет большого смысла, так как вы не увидите большую часть своего вывода. Но я не думаю, что эхо это то, что вы хотите сделать с этим значением. Я предполагаю, что это просто какой-то способ отладки?
Но есть еще одна проблема с вашим кодом. Скорее всего, он вернет предыдущее значение для данного поля. Зачем? Документ ACF предлагает некоторые объяснения.

Этот фильтр позволяет вам подключиться до или после того, как данные были
  сохранены. Важно отметить, что функция get_field () будет
  вернуть разные значения в это время (предыдущее значение / новое значение).

Поэтому, если вы будете использовать приоритет меньше 10, вы получите предыдущее значение для данного поля.
function get_acf_value ($ post_id) {
    $ v = get_field ('field_5b1d13fce338d', $ post_id);
    // $ v содержит старое значение поля 'field_5b1d13fce338d'
    echo $ v;
}
add_action ('acf / save_post', 'get_acf_value', 1); // <- приоритет равен 1

И если вы будете использовать приоритет больше 10, вы получите новое значение для этого поля.
function get_acf_value ($ post_id) {
    $ v = get_field ('field_5b1d13fce338d', $ post_id);
    // $ v содержит новое значение поля 'field_5b1d13fce338d'
    echo $ v;
}
add_action ('acf / save_post', 'get_acf_value', 20); // <- приоритет 20

Использование его с приоритетом, равным 10, немного рискованно - скорее всего, оно получит старое или новое значение, в зависимости от того, когда назначен хук.
Создан 11-06-2018 04:05 Krzysiek Dróżdż13.1k52740