En gros, je dois modifier les informations saisies par l'utilisateur dans une zone de texte de champs personnalisés avancés avant que celle-ci ne soit écrite dans la base de données, mais je ne sais pas comment la récupérer. Je ne peux l'obtenir qu'une fois qu'il a été écrit dans la partie méta de la base de données en utilisant get_field()
.
Edit - Cette réponse n’est plus exacte pour la version actuelle d’ACF, voir leur documentation
Utilisez le crochet acf_save_post
.
function my_acf_save_post( $post_id )
{
// vars
$fields = false;
// load from post
if( isset($_POST['fields']) )
{
$fields = $_POST['fields'];
}
// ...
}
// run before ACF saves the $_POST['fields'] data
add_action('acf_save_post', 'my_acf_save_post', 1);
// run after ACF saves the $_POST['fields'] data
add_action('acf_save_post', 'my_acf_save_post', 20);