Support » Plugin: Contact Form 7 » [trick] Password fields in Contact Form 7

  • So if you, for some reasons want to get password fields (that not supported for that moment by cf7) you can do it by adding somewhere in your functions.php following code:

    function cfp($atts, $content = null) {
        extract(shortcode_atts(array( "id" => "", "title" => "", "pwd" => "" ), $atts));
        if(empty($id) || empty($title)) return "";
        $cf7 = do_shortcode('[contact-form-7 id="' . $id . '" title="' . $title . '"]');
        $pwd = explode(',', $pwd);
        foreach($pwd as $p) {
            $p = trim($p);
            $cf7 = preg_replace('/<input type="text" name="' . $p . '"/usi', '<input type="password" name="' . $p . '"', $cf7);
        return $cf7;
    add_shortcode('cfp', 'cfp');

    How it works:

    Lets assume that you have following form:

    [contact-form-7 id="7" title="Test"]

    With following content:

    <p>Your Name (required)<br />
        [text* your-name] </p>
    <p>Your Email (required)<br />
        [email* your-email] </p>
    <p>Subject<br />
        [text your-subject] </p>
    <p>Your Message<br />
        [textarea your-message] </p>
    <p>[submit "Send"]</p>

    And want to hide email field (notice how you named it in form body your-email)

    Write following short code into your post:

    [cfp id="7" title="Test" pwd="your-email"]

    This short code will print your cf7 form but before that will change input types to password.

  • The topic ‘[trick] Password fields in Contact Form 7’ is closed to new replies.