Dynamicly populate Contact form 7 input fields wit

2019-07-22 06:30发布

问题:

I've been trying to figure out how to populate input fields in contact forms on my Wordpress website. I've tried using a plugin called Contact Form 7 dynamic text extension, and tried a pretty simple IF statement with PHP. But i just can't seem to get this to work.

With the plugin, i can only get half of the arguments to work in the shortcode, even then the form doesn't properly validate.

Using PHP as a placeholder="" outputs the code instead of the contents of the variable. for example "$current_user->user_firstname"

Any help on the matter would be much appreciated.

回答1:

Turns out, i wasn't using the shortcode correctly. These are the shortcodes i've used in with Contact Form 7 Dynamic text extension:

    Naam* <br />
     [dynamictext* your-name 'CF7_get_current_user']
    Email*
     [dynamictext* your-email "CF7_get_current_user key='user_email' "]


回答2:

You can install this plugin

Contact Form 7 Dynamic Text Extension

Dynamic text and dynamic hidden fields are available using it. And you can use the following code to grab the current user info into your field.

[dynamictext dynamicname "CF7_get_current_user"]

Or as mentioned in the answer above:

[dynamictext your-email "CF7_get_current_user key='user_email' "]

Note also that you can use dynamichidden for hidden fields like the following

[dynamichidden your-email "CF7_get_current_user key='user_email' "]

PS: I faced an issue with required hidden fields when I tried to use this dynamichidden*, the shortcode appears on my website as a plain text.



回答3:

I have done this before. Instead of using the PHP code as a placeholder. Use jQuery, for example:

$firstname = $current_user->user_firstname;

<script>

$("input").val("<?php echo $firstname; ?>")

</script>