Get shortcode of form programmatically, using form’s ID

[ad_1]

I’d like to use a contact form in a general template like single.php, but I’d like to be able to configure which form is included in the template as a site option. The shortcode should not appear in the post_content, it should be coded into the template.

But instead of a hardcoded form value like [contact-form-7 id="e07e78b" title="Inquire about this work"], I’d like to be able to configure which form appears.

Using ACF, I can store a specific contact_form as a site option. ( contact_form is a post_type, so i can pick which form I want to store in the option, and access it elsewhere via get_field .)

I’m trying to understand if there’s a way to use that form’s ID to get the generated shortcode for that form. I notice that the form shortcode id does not correspond to the form’s post_id in the database, and I can’t find where it’s stored in the post_meta of the form, either.

I do find that there’s a method of WPCF7_ContactForm called shortcode() that generates the shortcode. I’m wondering how I can pass the form $post object and get the generated shortcode for it, in a template.

 

This site will teach you how to build a WordPress website for beginners. We will cover everything from installing WordPress to adding pages, posts, and images to your site. You will learn how to customize your site with themes and plugins, as well as how to market your site online.

Buy WordPress Transfer