I did some testing locally with your code. I think the problem is your form input names clashing with names reserved by WP. Also redirecting to success/error page should happen before get_header()
to avoid any headers sent errors.
So, add some prefix/suffix to your input names, like so
<input type="text" name="my-name" placeholder="Your Name" class="input" id="name" required>
And move the submitting routine up,
if(isset($_POST['my-submit'])){
if(mail($to, $subject, $message, $headers)){
wp_redirect( home_url( '/email-success/' ) );
exit;
} else {
wp_redirect( home_url( '/email-failure/' ) );
exit;
}
}
get_header(); ?>
<!-- form html -->
Related Posts:
- How to fix ‘Notice: Undefined index:’ in PHP form action
- Genesis – Customize search form
- Metabox repeating fields – radio buttons not saving correctly
- How to insert PHP code in a WordPress Post
- Inserting Gravity Form checkbox values into Advanced Custom Fields [closed]
- How to handle a custom form in wordpress to submit to another page?
- Has anyone tried putting PHP ActiveRecord on WordPress?
- Handling error states with admin_post
- Creating wordpress user registration form
- On update to 3.04 site started recording accents as “á” and “á”, what to do?
- submit the form to same page
- Implement a multi-value input field where the number of entries is not limited
- Getting the dropdown menu to redirect to different pages?
- Ajax form submit within a Post Metabox
- How to create and work with custom data / tables (i.e., for arbitrary data)?
- Upload Image in a WordPress page using PHP
- How do I let users upload files to a chosen location?
- woocommerce registration form with klaviyo(don’t work with current user)
- Custom Form Processing Issue
- My form action url is being prepended with a directory that does not exists
- Custom profile field with birthday. Troubles with
- WooCommerce/WordPress: how hide entire table form after submit (Admin Dashboard)?
- How to store data from multiple forms using ajax and php
- How to use $query->set with post__in?
- Ajax loaded form replaces form action with Ajax url
- prevent default not stopping page refresh. Passing form information to and from php with ajax in a wordpress site
- Custom search results page not working with empty search
- Modify HTML structure of fields in woocommerce checkout form
- Post + form + action + results on the same page
- Why Won’t My Inputs in a form with a Get method work together?
- Input data from email form not going to JSON file
- How to get the value of input hidden html from text editor to custom page template?
- Styling my own password protected page, how to deal with wrong password?
- Contact form won’t submit
- Search Query: how to construct a search string from two select elements?
- Databases – Submitting data from inputs to database [closed]
- How to show a ‘correct’ message after submit a form?
- db converts decimal number wrong
- WordPress admin-ajax.php 400 bad request
- Ajax contact form return 0
- “operation successful” message
- User register hook is not working in woocomerce register form
- Search WordPress using static html page
- How to put a form with php code into a variable or shortcode?
- How to send form data from WordPress (Meta Box) to an OData service?
- WordPress shortcode returns the data before
- Shortcode to embed Edit Account form not working
- Form Submission Not Working In Custom Theme
- Capture form data in one function and use it in another function (same file)
- How to display success message correctly and delete it when the page is refreshed
- Using admin-post.php for admin form but it directs me to admin-post.php white screen
- Why does my user not get added to the database on custom registration?
- Submitting a form, using Ajax, to run a SQL Select query based on user input from the form
- form built dynamically with php, not submitting
- Pass important values server-side when processing form
- WPDB secure custom form
- Adding attribute to the post.php form tag in wp-admin
- How to make blog post entries appear as input form instead of just text?
- Make a page (url) not cacheable [closed]
- Front end file upload returning wrong attachment url
- WordPressUser Submission Form
- Page Options Saving But Not Updating In Backend
- Testing a Form’s Zipcode Field with Regular Expressions to Determine WordPress Page Behaviour
- Cascading dropdown select search based on Parent Page & Child Page
- HTML Form Question
- $_POST returning empty values
- How to send custom form submissions to WordPress Database?
- I want it to detect the duplicate comment and give a warning on the same page
- Updating user meta adds string count to value?
- PHP multiple forms, same page, isset($_POST[]) not working?
- “Class Not Found” in HTML Form Target PHP File that contains the class
- Store user form submitted information in post type
- Implement jQuery Smart wizard
- Javascript / PHP – closing the loop
- How do I stop my form from adding code to current page URL instead of re-directing. Been stuck for days
- Updating the database after parsing CSV document
- Creating wordpress user registration form
- Adding action item to admin users table and sending email
- If input field has value Require another field – PHP
- Submitting my form to the database and then redirecting to payment site
- Passing link parameter values to form
- Processing forms with php to wordpress database
- Post from front end form to post_meta
- Accessing values entered via form – try again
- Nonce fail after second submit attempt
- Styling admin page rows in order of importance (checkboxes)
- Display default WordPress login/registration form into a modal window
- Using Nonce for my Form
- Force string into signup form
- Data inserted in database, but ajax calls error function
- upload images on front by user using form
- ajax form function error
- How to pass username into form that sends data to database
- Use HTML Form Data in PHP Function – WordPress Admin Page
- Contact form with dynamic dropdown and filter
- Redirect loop upon installation of my plugin
- Field validation strlen works in php7.4 fails 8.1 [closed]
- Embed PHP script into WP – what is the best way
- Preventing script injections in HTML form
- Can’t insert into a database wordpress