web-dev-qa-db-fra.com

Obtenir la valeur du bouton de contact du formulaire de contact 7

J'ai les boutons radio suivants dans le formulaire de contact 7 et quelques champs de texte et champs cachés.

[radio radio id:radio label_first "3" "6" "9" "12"]

Voici quelques exemples de lignes de code dans functions.php. Je peux obtenir toutes les autres valeurs, par exemple les champs de texte et les champs cachés, mais pas les boutons radio.

function wpcf7_cstm_function($contact_form) {
    $title = $contact_form->title;
    $submission = WPCF7_Submission::get_instance();

    if ($submission) {
        $posted_data = $submission->get_posted_data();
    }
$txt = $posted_data['txt'];
        $text2 = $posted_data['txt2'];
$radio=$posted_data['radio']; 
}

Existe-t-il un moyen d'obtenir la valeur du bouton radio sélectionné?

2
Nelson

En fonction du moment où vous souhaitez agir, vous devez modifier le point d'ancrage - j'ai choisi wpcf7_before_send_mail - votre fonction

function wpcf7_cstm_function($contact_form) {
    $title = $contact_form->title;
    $submission = WPCF7_Submission::get_instance();

    if ($submission) {
        $posted_data = $submission->get_posted_data();

        $txt = isset($posted_data['txt'])?$posted_data['txt']:'';
        $text2 = isset($posted_data['txt2'])?$posted_data['txt2']:'';
        $radio = isset($posted_data['radio'][0])?$posted_data['radio'][0]:'';

        // do something with your data
    }
}
add_action("wpcf7_before_send_mail", "wpcf7_cstm_function");

Explication: les boutons radio (comme les cases à cocher) sont renvoyés sous forme de formulaire sur un tableau. Les valeurs radio étant des tableaux à un élément, vous les récupérez en accédant au premier élément du tableau. Pour les cases à cocher, vous devez parcourir l'ensemble du tableau retourné pour obtenir toutes les valeurs.

2
Picard