web-dev-qa-db-fra.com

Obtenir les valeurs des champs personnalisés avancés avant d'enregistrer

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().

1
tyler

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);
1
Milo