at path:
ROOT
/
wp-content
/
plugins
/
woocommerce
/
assets
/
js
/
admin
/
users.js
run:
R
W
Run
api-keys.js
3.89 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
api-keys.min.js
2.23 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
backbone-modal.js
4.35 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
backbone-modal.min.js
2.77 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
marketplace-suggestions.js
16.84 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
marketplace-suggestions.min.js
6.66 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
meta-boxes-coupon.js
2.99 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
meta-boxes-coupon.min.js
1.61 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
meta-boxes-order.js
54.51 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
meta-boxes-order.min.js
33.12 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
meta-boxes-product-variation.js
42.26 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
meta-boxes-product-variation.min.js
22.55 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
meta-boxes-product.js
34.69 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
meta-boxes-product.min.js
18.24 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
meta-boxes.js
4.95 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
meta-boxes.min.js
3.02 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
network-orders.js
2.34 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
network-orders.min.js
1.25 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
order-attribution-admin.js
1.16 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
order-attribution-admin.min.js
730 By
2026-04-15 05:42:42
R
W
Run
Delete
Rename
product-editor.js
696 By
2026-04-15 05:42:42
R
W
Run
Delete
Rename
product-editor.min.js
298 By
2026-04-15 05:42:42
R
W
Run
Delete
Rename
product-ordering.js
2.6 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
product-ordering.min.js
1.66 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
quick-edit.js
7.06 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
quick-edit.min.js
4.58 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
reports.js
5.39 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
reports.min.js
2.7 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
settings-views-html-settings-tax.js
12.04 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
settings-views-html-settings-tax.min.js
6.08 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
settings.js
11.95 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
settings.min.js
6.25 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
system-status.js
5.38 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
system-status.min.js
3.08 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
term-ordering.js
4.62 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
term-ordering.min.js
2.52 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
users.js
3.78 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
users.min.js
1.87 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-brands-enhanced-select.js
4.06 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-brands-enhanced-select.min.js
1.59 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-clipboard.js
869 By
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-clipboard.min.js
336 By
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-customer-stock-notifications.js
1.61 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-customer-stock-notifications.min.js
1.13 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-enhanced-select.js
13.58 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-enhanced-select.min.js
7.71 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-orders.js
1.98 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-orders.min.js
1.17 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-product-export.js
3.79 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-product-export.min.js
2.09 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-product-import.js
2.92 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-product-import.min.js
1.7 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-recent-reviews-widget-async.js
1.43 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-recent-reviews-widget-async.min.js
638 By
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-setup.js
10.05 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-setup.min.js
6.35 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-shipping-classes.js
6.57 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-shipping-classes.min.js
3.57 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-shipping-providers.js
7.04 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-shipping-providers.min.js
3.9 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-shipping-zone-methods.js
35.43 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-shipping-zone-methods.min.js
17.1 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-shipping-zones.js
9.23 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-shipping-zones.min.js
4.85 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-status-widget-async.js
1.33 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-status-widget-async.min.js
574 By
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-status-widget.js
1.78 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
wc-status-widget.min.js
1.05 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
woocommerce_admin.js
22.32 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
woocommerce_admin.min.js
11.93 KB
2026-04-15 05:42:42
R
W
Run
Delete
Rename
error_log
up
📄
users.js
Save
/*global wc_users_params */ jQuery( function ( $ ) { /** * Users country and state fields */ var wc_users_fields = { states: null, init: function() { if ( typeof wc_users_params.countries !== 'undefined' ) { /* State/Country select boxes */ this.states = JSON.parse( wc_users_params.countries.replace( /"/g, '"' ) ); } $( '.js_field-country' ).selectWoo().on( 'change', this.change_country ); $( '.js_field-country' ).trigger( 'change', [ true ] ); $( document.body ).on( 'change', 'select.js_field-state', this.change_state ); $( document.body ).on( 'click', 'button.js_copy-billing', this.copy_billing ); }, change_country: function( e, stickValue ) { // Check for stickValue before using it if ( typeof stickValue === 'undefined' ) { stickValue = false; } // Prevent if we don't have the metabox data if ( wc_users_fields.states === null ) { return; } var $this = $( this ), country = $this.val(), $state = $this.parents( '.form-table' ).find( ':input.js_field-state' ), $parent = $state.parent(), input_name = $state.attr( 'name' ), input_id = $state.attr( 'id' ), stickstatefield = 'woocommerce.stickState-' + country, value = $this.data( stickstatefield ) ? $this.data( stickstatefield ) : $state.val(), placeholder = $state.attr( 'placeholder' ), $newstate; if ( stickValue ){ $this.data( 'woocommerce.stickState-' + country, value ); } // Remove the previous DOM element $parent.show().find( '.select2-container' ).remove(); if ( ! $.isEmptyObject( wc_users_fields.states[ country ] ) ) { var state = wc_users_fields.states[ country ], $defaultOption = $( '<option value=""></option>' ) .text( wc_users_fields.i18n_select_state_text ); $newstate = $( '<select style="width: 25em;"></select>' ) .prop( 'id', input_id ) .prop( 'name', input_name ) .prop( 'placeholder', placeholder ) .addClass( 'js_field-state' ) .append( $defaultOption ); $.each( state, function( index ) { var $option = $( '<option></option>' ) .prop( 'value', index ) .text( state[ index ] ); $newstate.append( $option ); } ); $newstate.val( value ); $state.replaceWith( $newstate ); $newstate.show().selectWoo().hide().trigger( 'change' ); } else { $newstate = $( '<input type="text" />' ) .prop( 'id', input_id ) .prop( 'name', input_name ) .prop( 'placeholder', placeholder ) .addClass( 'js_field-state regular-text' ) .val( value ); $state.replaceWith( $newstate ); } // This event has a typo - deprecated in 2.5.0 $( document.body ).trigger( 'contry-change.woocommerce', [country, $( this ).closest( 'div' )] ); $( document.body ).trigger( 'country-change.woocommerce', [country, $( this ).closest( 'div' )] ); }, change_state: function() { // Here we will find if state value on a select has changed and stick it to the country data var $this = $( this ), state = $this.val(), $country = $this.parents( '.form-table' ).find( ':input.js_field-country' ), country = $country.val(); $country.data( 'woocommerce.stickState-' + country, state ); }, copy_billing: function( event ) { event.preventDefault(); $( '#fieldset-billing' ).find( 'input, select' ).each( function( i, el ) { // The address keys match up, except for the prefix var shipName = el.name.replace( /^billing_/, 'shipping_' ); // Swap prefix, then check if there are any elements var shipEl = $( '[name="' + shipName + '"]' ); // No corresponding shipping field, skip this item if ( ! shipEl.length ) { return; } // Found a matching shipping element, update the value shipEl.val( el.value ).trigger( 'change' ); } ); } }; wc_users_fields.init(); });