# WooCommerce, logins and membership sites

> Shop pages, mini carts, add to cart, checkout, My Account and logins with AjaxPress.

Source: https://arraystory.com/docs/ajaxpress/woocommerce-and-logins/

AjaxPress works with WooCommerce out of the box: product and category pages, search and filters, the mini cart, ajax add to cart, the cart, checkout and My Account. Easy Digital Downloads works the same way.

## Shop pages and the cart

![WooCommerce over AjaxPress: shop, add to cart and the cart, with the radio playing.](https://r2.arraystory.com/docs/ajaxpress/woocommerce.mp4?v=69adeec036)

- **Browsing** products, categories and search results is instant, like any other page.
- **Mini carts, off-canvas carts and quick view** open as designed. Tapping the cart icon opens the panel, and doesn't navigate to the cart page.
- **Ajax add to cart** adds the product in place, with no reload.
- **Cart and checkout forms** submit over ajax. WooCommerce's own checkout script handles the order, and AjaxPress stays out of its way.
- **Notices** such as "Product added to your cart" or a failed coupon show where WooCommerce normally puts them.

> [!WARNING]
> Using [prefetch](https://arraystory.com/docs/ajaxpress/prefetch/) (AjaxPress Pro)? Add `add-to-cart=` and `customer-logout` to **Exclude Links**. Otherwise hovering an **Add to cart** button on a shop page, or the **Log out** link in My Account, can add the product or sign the customer out before they click.

## Logins and registration

Logging in, registering and resetting a password work without a page reload: on `wp-login.php`, on the WooCommerce **My Account** page, and on checkout account creation. A failed login shows its error in place.

A login that sends the visitor into the dashboard (as an administrator's login usually does) finishes with a normal page load, because the dashboard is never part of the front-end navigation.

### When logins need a real page load

Some plugins expect a full page load after sign-in: security plugins with a two-factor or CAPTCHA step, membership plugins that redirect by role, and single sign-on. If sign-in misbehaves on your site, turn on **Settings → AjaxPress → Basic → Full Page Reload on Login & Registration**. Login, registration and password forms then submit the normal way, and everything else stays instant.

## Payment gateways

After installing AjaxPress, place a test order with each payment method you offer, including any that send the shopper to the payment provider's own page to pay. If a payment method doesn't complete, email [support@arraystory.com](mailto:support@arraystory.com) with the gateway's name and your checkout address, and we'll look at it with you.

## Caching

With [Super Cache by Cloudflare](https://arraystory.com/docs/ajaxpress/cloudflare-super-cache/), the cart, checkout and account pages, add-to-cart links, and every shopper with a cart are kept out of the cache automatically. Nobody is ever served another shopper's cart.

## Troubleshooting

| Symptom | Try first |
| --- | --- |
| Signing in fails or loops back to the login form | Turn on **Full Page Reload on Login & Registration** |
| The cart icon opens the mini cart, then goes to the cart page | Update AjaxPress (fixed in 2.4.2) |
| A payment method doesn't complete | Email support with the gateway's name |
| A form uploads a file | Forms with file fields always submit normally, which is expected |
