Category Archives: Developer’s cookbook

Form-tag features

Do you remember when we learned how to register a custom form-tag type in a previous recipe? We used the wpcf7_add_form_tag() function and set the third parameter to array( 'name-attr' => true ).

We call it features of a form-tag. Contact Form 7 has a set of predefined features (listed below), and, by specifying some of them through a form-tag type declaration, you can characterize each form-tag instance of the type.

Continue reading Form-tag features

Customizing Stripe payment parameters

Stripe‘s payment parameters, such as the currency or the amount of money, are decided by the [stripe] form-tag placed in the form template. You might want to customize the parameters by changing them dynamically based on the user’s selection or some sort of calculation.

You can do it by using the wpcf7_stripe_payment_intent_parameters filter hook like in the following coding example:

Continue reading Customizing Stripe payment parameters

Sharing reCAPTCHA API keys and tokens

With Contact Form 7’s reCAPTCHA (v3) integration ability, you can protect your contact forms from spambots. Since a spambot targets everything—not only contact forms—you may also want to protect other components on your website (such as comment forms) using reCAPTCHA technology.

Fortunately, Contact Form 7’s reCAPTCHA integration is designed to be open and accessible to other components. In this recipe, I’ll tell you how you can retrieve reCAPTCHA API keys and tokens from Contact Form 7 and reuse the data within your own reCAPTCHA plugin.

Continue reading Sharing reCAPTCHA API keys and tokens

Adding a custom form-tag

This is the first entry in a series of articles to help developers customize Contact Form 7.

The first topic is expanding Contact Form 7’s form-tags. As you probably know, form-tags are code in a specific format within square brackets, usually representing form controls like text input fields and submit buttons. Currently, Contact Form 7 supports 30 different types of form-tags by default.

Continue reading Adding a custom form-tag