Вы можете зацепить acf/save_post
для этой цели. Прочитайте документацию здесь: https://www.advancedcustomfields.com/resources/acf-save_post/
Поскольку вы хотите, чтобы обратный вызов сработал до , значения сохраняются, чтобы сравнить старое значение с новым Имейте в виду, чтобы добавить приоритет меньше 10. Предполагая, что поле с 4 опциями имеет ключ поля field_4afd4af14415f
:
function on_acf_post_save($post_id) {
$post_type = get_post_type($post_id);
if ($post_type === 'your-post-type') {
$old_val = get_field('field_4afd4af14415f', $post_id);
$new_val = $_POST['acf']['field_4afd4af14415f'];
if ($old_val != $new_val) {
// Send desired mail in here:
// wp_mail(...);
}
}
}
add_action('acf/save_post', 'on_acf_post_save', 5, 1); // priority = 5
Если поле ACF находится не на верхнем уровне, а внутри Группа или Повторитель, вам придется адаптировать чтение кода из результатов $_POST['acf']
и get_field()
.