Как получить значение ACF после нажатия кнопки «Обновить пользователя» в меню «Пользователь». У меня есть следующий код, но он не работает:
function get_acf_value ($post_id) { $v = get_field('field_5b1d13fce338d', $post_id); echo $v;}add_action( 'acf/save_post', 'get_acf_value' );
<
Ответов: 2
Создан 11-06-2018 02:45
fuxia
Ответы и комментарии:
Сначала в 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');
Но есть еще одна проблема с вашим кодом. Скорее всего, он вернет предыдущее значение для данного поля. Зачем? Документ 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, немного рискованно - скорее всего, оно получит старое или новое значение, в зависимости от того, когда назначен хук.