Skip to content

Instantly share code, notes, and snippets.

@eversionsystems
Last active March 27, 2023 11:49
Show Gist options
  • Save eversionsystems/9c1845cc3a18209d4a6eb8ed5d5221a5 to your computer and use it in GitHub Desktop.
Save eversionsystems/9c1845cc3a18209d4a6eb8ed5d5221a5 to your computer and use it in GitHub Desktop.
WooCommerce Change AJAX Spinner Gif On Checkout
/*
* Custom AJAX spinner on WooCommerce checkout
* The class used to load the overlay is .blockUI .blockOverlay
* The class used to load the spinner is .woocommerce .loader:before
*
*/
.woocommerce .blockUI.blockOverlay:before,.woocommerce .loader:before {
height: 3em;
width: 3em;
position: absolute;
top: 50%;
left: 50%;
margin-left: -.5em;
margin-top: -.5em;
display: block;
content: "";
-webkit-animation: none;
-moz-animation: none;
animation: none;
background: url('http://test-site.com/wp-content/themes/boss-child/images/spinning-logo.gif') center center;
background-size: cover;
line-height: 1;
text-align: center;
font-size: 2em;
}
@eversionsystems
Copy link
Author

@djs5295 make sure your CSS loads last, that way it takes precedence over all your other CSS rules. Adding text could be accomplished using pseudo elements, you can read up on some examples here.

@skunkbad
Copy link

This was helpful. Thank you. I just want to say that in my case there was no need to do anything but center the default spinner vertically, so all I needed for CSS was "position:fixed".

@diogenesjup
Copy link

for me, works only when i put the "!Importantt"
Tks!

@eversionsystems
Copy link
Author

for me, works only when i put the "!Importantt"
Tks!

You need to ensure your custom CSS is loaded last, it will then take precedence and "!important" is not required. Glad it works though :)

@ahac
Copy link

ahac commented Dec 29, 2021

This adds the spinner to every overlay (when adding item to cart, removing it, etc.). How could I show it only after the "place order" button is clicked?

@eversionsystems
Copy link
Author

@ahac it's not possible due to the way WooCommerce uses the same CSS overlay. You'd need to write some JS in order to achieve what you wanted.

@bajoski34
Copy link

how does one trigger the spinner

@StefsterNYC
Copy link

@bajoski34 it gets triggered when a payment button has been clicked.

@jsmusiker
Copy link

@ahac you can just add -

.woocommerce-checkout.processing before the .blockui class

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment