ReLeaf ReLeaf - 1 year ago 270
PHP Question

Using Advanced Custom Fields and Contact Form 7 to display a form

I want my users to be able to put a Contact Form 7 shortcode into a custom field in the Wordpress editor. I've created the custom field using ACF and I can pull the value onto the page, but when I try to include it in the shortcode, it comes back with a 404.

This code:

<?php echo do_shortcode(get_field('contact_form_shortcode')); ?>


[contact-form-7 404 "Not Found"]

If I create a variable out of the value like this:

$formCode = get_field('contact_form_shortcode');
echo $formCode;

The echo returns:

[contact-form-7 id="473" title="Learn More Form"]

But I get the same 404 after putting that value into the echo do_shortcode function list this:

<?php echo do_shortcode($formCode); ?>

What am I missing?

Answer Source

I was able to resolve this issue by using the technique I discussed in my comment above. By using the WYSWIG field set to 'Run filter "the_content"' I'm able to pull the field value in the way I want it. The only drawback is that users could type something else in there besides a form shortcode.

Here's my final code:

    if (get_field('contact_form_shortcode')):
        echo get_field('contact_form_shortcode');
        echo do_shortcode('[contact-form-7 id="473" title="Learn More Form"]');
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download