add_action( 'wp_enqueue_scripts', function() {
if( ! is_checkout() ) { return; }
wp_enqueue_script( 'jquery' );
wp_add_inline_script( 'jquery', "
jQuery( document ).ready( function( $ ) {
$( 'body.wfacp_main_wrapper' )
.on( 'click paste keyup change', 'input#cc_expiry', function() {
$( this ).val( formatExpiry( $( this ).val() ) );
} );
} );
function formatExpiry( expiry ) {
var mon, parts, sep, year;
parts = expiry.match( /^\D*(\d{1,2})(\D+)?(\d{1,4})?/ );
if( ! parts ) {
return '';
}
mon = parts[1] || '';
sep = parts[2] || '';
year = parts[3] || '';
if( year.length > 0 ) {
sep = ' / ';
} else if( sep === ' /' ) {
mon = mon.substring( 0, 1 );
sep = '';
} else if( mon.length === 2 || sep.length > 0 ) {
sep = ' / ';
} else if(
mon.length === 1
&& ( mon !== '0' && mon !== '1' )
) {
mon = '0' + mon;
sep = ' / ';
}
return mon + sep + year;
}
" );
} );
Checkout credit card expiration date formatter
Formats the credit card expiration date in realtime. Uses a function based on this project:
https://github.com/stripe/jquery.payment/blob/master/lib/jquery.payment.js
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.
