Support » Plugin: MailChimp for WordPress » Form not working in footer

  • Resolved waterworks2

    (@waterworks2)



    Installed plugin.

    Got the API Key from Mailchimp’s website and added the key to the plugin settings page. It says I am connected.

    Then I created a simple form with a single field to sign up for the newsletter. Then I copied and pasted the generated code into the footer.php file for my WordPress theme.

    The form looks great in the footer but nothing happens. Is there something about using the html code in a footer of a theme that would prevent it from working?

    However, it works just fine if I use the shortcode and insert the form into a page or post. What am I missing here?

Viewing 4 replies - 1 through 4 (of 4 total)
  • Followup

    The plugin generated code for the form is:

    <p>
    	<label>Sign up for our newsletter</label>
    	<input type="email" name="EMAIL" placeholder="Your email address" required />
    </p>
    
    <p>
    	<input type="submit" value="Sign up" />
    </p>

    I compared this against the page-generated code on the page that uses the shortcode to insert the form and found the following:

    <form id="mc4wp-form-1" class="mc4wp-form mc4wp-form-1200" method="post" data-id="1200" data-name="Newsletter signup for footer">
                <div class="mailchimp-form">
    	        <label>Sign up for our newsletter</label>
    	        <input type="email" name="EMAIL" placeholder="Enter your email" required />
    	        <input type="submit" value="Sign up" />
                </div>
                <div style="display: none;"><input type="text" name="_mc4wp_honeypot" value="" tabindex="-1" autocomplete="off"></div>
                <input type="hidden" name="_mc4wp_timestamp" value="2004324877">
                <input type="hidden" name="_mc4wp_form_id" value="1200">
                <input type="hidden" name="_mc4wp_form_element_id" value="mc4wp-form-1">
                <div class="mc4wp-response"></div>
    </form>

    You can see quite a bit of code difference between what the plugin offers under the FIELDS tab for the form, and what is generated in page by using the shortcode. You should offer the full form code for the user in case they want to use it somewhere other than in-page with a shortcode. Perhaps this a pro feature I’m unaware of. Please note, I manually removed the p tags and added my own divs for styling purposes.

    Followup. The form works now using the code above. I still can’t get the ‘thank you for subscribing’ message upon submit. The page reloads but the confirm message does not appear. I’m not sure why.

    I see the code should look something like this upon success

    <div class="mc4wp-response">
         <div class="mc4wp-alert mc4wp-success">
              <p>Thank you, your sign-up request was successful! Please check your email inbox to confirm.</p>
         </div>
    </div>

    I assume I need to add some missing code to my footer in order to return a message upon success/error of the form?

    Suggestions?

    • This reply was modified 1 year, 6 months ago by  waterworks2.
    • This reply was modified 1 year, 6 months ago by  waterworks2.
    • This reply was modified 1 year, 6 months ago by  waterworks2.
    Plugin Contributor Lap

    (@lapzor)

    Hi,

    You should not copy-paste the code. Instead use the shortcode for the form to display the form anywhere.

    If you want to do that directly in your theme’s PHP code you can use do_shortcode.
    https://developer.wordpress.org/reference/functions/do_shortcode/

    Hope that helps,

    Thank you sir! My php knowledge is that of an ant. But that worked perfectly! I just added

    <?php echo do_shortcode("[mc4wp_form id='1149']"); ?>

    to my footer.php for my theme and it worked perfectly! Much obliged for the helpful response. Please mark this post as solved.

    • This reply was modified 1 year, 6 months ago by  waterworks2.
Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘Form not working in footer’ is closed to new replies.