[solved] Infinite Spinning arrow in Contact Form 7 Plugin

Contact Form 7 plugin is currently the most used contact form plugin in WordPress. In fact when you search on the internet for procedures of creating a contact page for your blog, most blogs will ask you to download Contact Form 7. The plugin is absolute free and survives on donations but has a lot of great features. However, there have been a few misconceptions about WordPress not sending emails not knowing the problem lies within the plugin and it’s the contact form not sending emails.

Contact Form 7

From my own experience, Contact Form 7 WordPress plugin is not compatible with every theme or plugin out there. In some cases using it alongside certain themes or plugins will cause a JavaScript conflict which is the main reason behind the infinite spinning arrow when you are trying to send a message using the form. This is mainly because the Ajax script of the plugin is conflicting with either one of the scripts on your theme or another plugin causing it to stay rolling infinitely.

What you should also know is the infinite spinning arrow in Contact Form 7 issue also happens when post permalinks are changed from default to %postname%. Sometimes contact form 7 cannot send emails on a %postname% permalink structure. However, If the permalink structure is remains on Default then the form should just work fine.

Solving spinning arrow in Contact Form 7

Is contact form 7 not sending emails? Am going to show you two ways you can fix the infinite spinning arrow issue in Contact Form 7 plugin. I’ve tested all these methods and they have worked fine for me. Am sure they will help you solve the issue as well.

Method 1 – Change Permalink Structure to Default

This is usually the easiest fix and doesn’t require altering with any codes in the plugin. All you have to do is visit your website’s administration dashboard in WordPress (wp-admin), then go to Settings >> Permalinks and choose the default option box. This will restore your permalink structure to it’s defaults and make the Contact Form 7 to work just fine. However, this is not the best method since it’s a good practice to keep your permalink structure to %postname%. It’s very vital when it comes to SEO and besides, some WordPress SEO plugins like WordPress SEO by Yoast require the %postname% permalink structure to enable sitemap functionality on your blog. If you are having difficulties with the default permalink structure then i recommend you try out the alternative below.

Method 2 – Disable Ajax Load

This is actually the best option. All you have to do disable Ajax load from the plugin configuration file to disable the form from sending messages using JavaScript. Usually when JavaScript is enabled the page doesn’t refresh while sending messages but when disabled, the page will refresh. To disable the plugin from using JavaScript to send messages simply go to Plugins, Contact Form 7, click on edit and locate the wp-contact-form-7.php file then make the amendments below.

define( 'WPCF7_LOAD_JS', true);


define( 'WPCF7_LOAD_JS', false);

The two methods will usually solve the infinite spinning arrow issue in Contact Form 7 plugin. Is your WordPress Contact Form 7 plugin not sending emails still? if you disable Ajax and still face the same problem then it could be a problem with your theme or one of the installed plugins. Have you encountered the same situation before? how did you solve the infinite spinning arrow Contact Form 7 plugin issue? share with us below. If this article has solved your issue feel free to share it with your friends.


  1. Disabling JavaScript got it all right for me. Thanks for the nice tips.

  2. Thanks for your help. Disabling Js worked for me also, unfortunately its not the idea solution for my implementation because we use “on_sent_ok” Js to redirect to a second page upon submission. Thanks anyway. πŸ™‚

  3. Thank you!

    The change in the JS was the key to the solution.

    My business was really hurting with the form not working properly.

    You made my day.

  4. fyi – this just happened to me recently . . not sure when, but sometime in past month since my last update, and i was just informed about it today – so i went to the google genie and i found your reply linked from here:
    and sumofagum, it still works – many thanks for this – give yourself a raise!

  5. Thanks a lot for this. This fixed my issue.

  6. Thanks for the help
    I change my permalink setting to default like you said and my form start working.

    When i change it back to %postname% it continue to work

  7. YEAH!!! The second option works just fine, thanks a lot πŸ˜€

  8. Thank you. Option #2 fixed the issue, though the page flashes/refreshes and appends a weird code to the URL: #wpcf7-f1359-p1356-o1. Any way to prevent this or is this because AJAX is off?

  9. Thanks for the second option, The first one caused a 500 error after changing permalinks, I had to create a new ht acces file to gain entry back into website. Would reccommend a back up before trying this option.

    • Glad the second option worked for you. The first one works pretty fine as well but requires your .htaccess to be re writable else you will have to modify the document yourself to correct it. Please grant necessary permissions before resetting your permalink structure to default.

  10. Hi,

    I tried the second option. But it is still not working, I just copied the whole code

    define( ‘WPCF7_LOAD_JS’, true);


    define( ‘WPCF7_LOAD_JS’, false);

    and paste it to the wp-contact-form-7.php file. That is correct right? But it is still not working..

    • That is not correct Diede! Delete and reinstall the plugin again then Look for the line: define( β€˜WPCF7_LOAD_JS’, true); and change true to false. That way JavaScript is disabled and it should work fine.

  11. tanks a lot working for me. Make my day

  12. OMG – I’ve been trying to fix this for two days! Thanks so much – the second option worked for me.

  13. Made both changes and still just spins and spins for me.

  14. I had the same issue – However the bug was coming from contact form 7 mailchimp plugin. Disabled it and everything was fine. Maybe useful to others, hence posting here.

  15. Unfortunately none of the suggested solutions worked for me, and I don’t feel safe patching a plugin file, with the risk of loosing my modification at every plugin update!

    Well, the developer says it’s a plugins conflict that can be solved removing other plugins…. this doesn’t sound to me like a professional answer at all!

    Googling you can find many people saying they’re facing the same issue in many different environment configuration, so, it seems the developer refuses to admit that the badly developed plugin is CF7.

    It’s hard to say this, ’cause I really loved CF7, but as most of the things, also this love couldn’t last forever.

    Bye Bye CF7, I’m forced to move to another plugin!

  16. Thanks very much Kolo: you’re a greatprofessional!

    I’m not sure that iI would have found the way to get contact form 7 working again…
    I was thinking about installing another contact form manager…

    Thanks so much.

  17. Changing true to false returns a 500 page error when submitting the form for me. Any other fixes. I can’t believe the author won’t release a fix for this.

  18. This really helped! Thank you sooooo much πŸ™‚

  19. Changing the permalink back and forth did the trick for me…
    Thanks dude

  20. The second solution works for me.
    I have tried to write the line “define( β€˜WPCF7_LOAD_JS’, true);” in functions.php (best practice if wpcf7 is updated), but it doesn’t work…

  21. Editing the plugin file directly is a terrible idea. I didn’t test, but I suspect a better idea would be adding define( β€˜WPCF7_LOAD_JS’, false); to your wp-config.php file, so you don’t lose the modification after every plugin update.

    In case it helps anyone else, I resolved this by disabling plugins one by one until I found the plugin that was causing the conflict with CF7 (Root Relative URLs in my case).

    This wasn’t a CF7 issue, so the shade thrown at the CF7 developer by some comments is unwarranted IMO. It’s impossible to design a plugin that will work with all plugins. The pitfalls of an open-source community of plugins — some plugins will break other plugins. As is likely the case in this situation.

  22. For me, it was a problem with PHP not having multibyte support. The second solution just caused an error page to be shown. After adding the multibyte support the form worked without and plugin changes.

  23. Thank you very much!

Leave a Reply

Your email address will not be published.