// Hide Coupon Form On Checkout
add_action( 'init', function() {
remove_action(
'woocommerce_before_checkout_form',
'woocommerce_checkout_coupon_form', 10
);
} );
// Show Link On Cart And Checkout
add_action(
'woocommerce_cart_totals_after_order_total',
'ccom_coupon_modal_trigger'
);
add_action(
'woocommerce_before_checkout_form',
'ccom_coupon_modal_trigger'
);
// Modal Trigger HTML And JavaScript
function ccom_coupon_modal_trigger() {
?>
<p style="text-align:center;">
<a href="#" id="ccom_coupon_modal">
Have a coupon? Click to apply.
</a>
</p>
<?php
add_action( 'wp_print_footer_scripts', function() {
?>
<script type="text/javascript">
document.addEventListener( 'DOMContentLoaded', function() {
document.getElementById( 'ccom_coupon_modal' )
.addEventListener( 'click', function( event ) {
event.preventDefault();
let coupon_code = prompt(
'If you have a coupon code, please apply it below.'
);
if( coupon_code ) {
window.location.href = '<?php echo wc_get_cart_url(); ?>?coupon_code='
+ coupon_code;
}
} );
} );
</script>
<?php
} );
}
Replace coupon form with a pop-up link
Replaces the coupon form on the Checkout page with an add coupon link and browser confirm modal to accept a coupon code. Use in conjunction with Replace coupon form with URL argument code snippet.
How to use
PHP Code Snippets
- Log into a staging, development, or locally hosted clone of your site
- Install and activate Code Snippets
- WP Admin > Snippets > Add New
- Copy and paste the code from the Description tab above
- Check to ensure formatting came over properly and no syntax errors show up in the editor
- Customize the code as desired
- Add a meaningful title
- Select whether to run on front-end or back-end (or both)
- Click “Save and Activate”
- Test your site to ensure it works
- Disable if any problems, or recover
- Repeat for live environment
License
All code snippets are licensed GPLv2 (or later) matching WordPress licensing.
Disclaimer of warranty:
Except when otherwise stated in writing the copyright holders and/or other parties provide the program as-is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
Support
- Describe the issue and what you’ve observed.
- Describe your expected outcome(s).
- List steps to reproduce the issue.
- Optionally provide screen-shot or video URLs.
