When customers buy things through your WooCommerce shop, they can sign up to your website right there in the checkout. But if you want to control the signup process, a better option can be Gravity Forms.
I’m a big fan of the Login with Ajax plugin. It makes it really easy to add a nice popup login form to a website. Here’s how to make the most of it, with a little custom code.
Gravity Forms and its User Registration add-on make it really easy to create custom registration pages. One problem you’ll hit if you combine that with WooCommerce is that WooCommerce uses standard country codes, but Gravity Forms uses country names. But that can be fixed.
The Gravity Forms Add-on Framework makes the job of creating an add-on really easy. But there’s a couple of problems with letting it load our text domain for us:
Gravity Forms email notifications can be used to send simple payment receipts for eWAY transactions.
TIL that you need to give Gravity Forms add-ons some capabilities, otherwise they might disappear from the WordPress admin.
Gravity Forms normally loads its stylesheets in the page head, where they belong. It does that only on pages which have forms, which is nice. If you use a widget to host your form, however, it can’t detect that until it renders the widget… too late to load the stylesheets in the head. At that point, it just pulls them directly into the page body.
Gravity Forms has some nice compound fields to make it easy to accept things like names, addresses, and credit card details. One annoying thing it does, though, is put the labels for the input fields below them instead of above them. Here’s how to move Gravity Forms field labels above input fields where most people would expect them to be.
Gravity Forms plus its PayPal add-on make for a very easy donations form (and so does my Gravity Forms eWAY add-on). But the PayPal item description is pretty formulaic, and probably doesn’t represent the donation very well especially when there are multiple options. A simple filter hook with a few lines of code can easily fix that though.
A common problem with input forms is that users get impatient and click the submit button twice. This can lead to double (or triple, or quadruple!) form submissions, which can really mess things up (especially if you’ve added a billing step to your form!) Stopping it can be surprisingly complex, but here’s a simple piece of browser script that will prevent most users from making multiple submissions with Gravity Forms.