2017-09-18 7 views
2

Comment ajouter un attribut personnalisé dans le champ Contact Form 7sans javascript?Comment ajouter un attribut personnalisé?

Par exemple, il y a un tel champ sur la page:

<input type="text" name="name" class="form-control" id="name-1" data-attr="custom" data-msg="Текст 1"> 

Question: est-il possible de définir ces attributs personnalisés (data-attr, data-msg) des champs dans le panneau d'administration?

+0

Il n'y a pas une option pour l'attribut add personnalisé dans l'admin vous devez faire avec js ou tout autre code personnalisé https:. // contactform7. com/text-fields/ –

Répondre

-1

Trouvez le nom de votre champ.

[text* text-21] 

Si le nom de votre nom de champ = "text-21", comme dans mon exemple, ajoutez ce code dans le fichier function.php.

add_filter('wpcf7_form_elements', 'imp_wpcf7_form_elements'); 
function imp_wpcf7_form_elements($content) { 
    $str_pos = strpos($content, 'name="text-21"'); 
    $content = substr_replace($content, ' data-attr="custom" data-msg="Текст 1" ', $str_pos, 0); 
    return $content; 
} 

Remarque, il ajoutera attribut personnalisé à tous les éléments de formulaires où le nom est un texte-21, sous toutes ses formes qui ont name = "text-21, si vous voulez l'empêcher de donner ensuite votre élément de forme un nom unique, . [texte * inique-name]

ensuite modifier le code à

add_filter('wpcf7_form_elements', 'imp_wpcf7_form_elements'); 
function imp_wpcf7_form_elements($content) { 
    $str_pos = strpos($content, 'name="inique-name"'); 
    $content = substr_replace($content, ' data-attr="custom" data-msg="Текст 1" ', $str_pos, 0); 
    return $content; 
} 
+0

Ce filtre ajoute data-attr à tout, si le champ n'existe pas imprime "data-attr" ecc partout. Comment réparer? – gleenk

+0

probablement il devrait y avoir un peu ... if ($ str_pos> -1) {...} ... –

+0

Il semble que vous avez des formulaires avec les mêmes noms d'éléments. Changez le nom du champ en quelque chose d'unique. S'il vous plaît faites attention, je modifie ma réponse. –