Оказалось, что этот кусок кода в functions.php, который мы использовали для перезаписи слагов при сохранении постов, был проблемой:
function myplugin_update_slug( $data, $postarr ) {
if ( ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
$data['post_name'] = sanitize_title( $data['post_title'] );
}
return $data;
}
Функция sanitize_title () перезаписывала ключевое поле и заставляла ACF терять поля.
Мы решили эту проблему, активировав чистую тему WP, а затем, подтвердив, что это был какой-то код в нашей дочерней теме, мы просто закомментировали код в нашем файле functions.php, пока не была найдена нарушающая функция.