[wp-trac] [WordPress Trac] #51035: drop downs are not working
WordPress Trac
noreply at wordpress.org
Sun Aug 16 18:15:23 UTC 2020
#51035: drop downs are not working
------------------------------+-----------------------------
Reporter: sandyeggodesigns | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version: 5.5
Severity: critical | Keywords:
Focuses: |
------------------------------+-----------------------------
I am using WP 5.5
After update, first I noticed plugin "WooCommerce Shipment Tracking" used
on Edit Order page was not working anymore. The button for "Add Tracking
Number" didn't do anything.
After a LOT of digging, I found that plugin uses this CSS:
#woocommerce-shipment-tracking #shipment-tracking-form{display:none}
And then a Javascript function in admin.js is supposed to change the
display to show it:
jQuery( function( $ ) {
var wc_shipment_tracking_items = {
// init Class
init: function() {
$( '#woocommerce-shipment-tracking' )
.on( 'click', 'a.delete-tracking',
this.delete_tracking )
.on( 'click', 'button.button-show-form',
this.show_form )
.on( 'click', 'button.button-save-form',
this.save_form );
},
// When a user enters a new tracking item
save_form: function () {
if ( !$( 'input#tracking_number' ).val() ) {
return false;
}
$( '#shipment-tracking-form' ).block( {
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
} );
var data = {
action:
'wc_shipment_tracking_save_form',
order_id:
woocommerce_admin_meta_boxes.post_id,
tracking_provider: $(
'#tracking_provider' ).val(),
custom_tracking_provider: $(
'#custom_tracking_provider' ).val(),
custom_tracking_link: $(
'input#custom_tracking_link' ).val(),
tracking_number: $(
'input#tracking_number' ).val(),
date_shipped: $(
'input#date_shipped' ).val(),
security: $(
'#wc_shipment_tracking_create_nonce' ).val()
};
$.post( woocommerce_admin_meta_boxes.ajax_url,
data, function( response ) {
$( '#shipment-tracking-form' ).unblock();
if ( response != '-1' ) {
$( '#shipment-tracking-form'
).hide();
$( '#woocommerce-shipment-tracking
#tracking-items' ).append( response );
$( '#woocommerce-shipment-tracking
button.button-show-form' ).show();
$( '#tracking_provider'
).selectedIndex = 0;
$( '#custom_tracking_provider'
).val( '' );
$( 'input#custom_tracking_link'
).val( '' );
$( 'input#tracking_number' ).val(
'' );
$( 'input#date_shipped' ).val( ''
);
$('p.preview_tracking_link').hide();
}
});
return false;
},
// Show the new tracking item form
show_form: function () {
$( '#shipment-tracking-form' ).show();
$( '#woocommerce-shipment-tracking button.button-
show-form' ).hide();
},
// Delete a tracking item
delete_tracking: function() {
var tracking_id = $( this ).attr( 'rel' );
$( '#tracking-item-' + tracking_id ).block({
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
});
var data = {
action:
'wc_shipment_tracking_delete_item',
order_id:
woocommerce_admin_meta_boxes.post_id,
tracking_id: tracking_id,
security: $(
'#wc_shipment_tracking_delete_nonce' ).val()
};
$.post( woocommerce_admin_meta_boxes.ajax_url,
data, function( response ) {
$( '#tracking-item-' + tracking_id
).unblock();
if ( response != '-1' ) {
$( '#tracking-item-' + tracking_id
).remove();
}
});
return false;
},
refresh_items: function() {
var data = {
action:
'wc_shipment_tracking_get_items',
order_id:
woocommerce_admin_meta_boxes.post_id,
security: $(
'#wc_shipment_tracking_get_nonce' ).val()
};
$( '#woocommerce-shipment-tracking' ).block( {
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
} );
$.post( woocommerce_admin_meta_boxes.ajax_url,
data, function( response ) {
$( '#woocommerce-shipment-tracking'
).unblock();
if ( response != '-1' ) {
$( '#woocommerce-shipment-tracking
#tracking-items' ).html( response );
}
});
},
}
wc_shipment_tracking_items.init();
window.wc_shipment_tracking_refresh =
wc_shipment_tracking_items.refresh_items;
} );
BUT, this no longer worked after updating to WP 5.5! I had to change the
Javascript code to move the "jQuery" (namespace?) to a different location
in the script:
( function( $ ) {
var wc_shipment_tracking_items = {
// init Class
init: function() {
$( '#woocommerce-shipment-tracking' )
.on( 'click', 'a.delete-tracking',
this.delete_tracking )
.on( 'click', 'button.button-show-form',
this.show_form )
.on( 'click', 'button.button-save-form',
this.save_form );
},
// When a user enters a new tracking item
save_form: function () {
if ( !$( 'input#tracking_number' ).val() ) {
return false;
}
$( '#shipment-tracking-form' ).block( {
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
} );
var data = {
action:
'wc_shipment_tracking_save_form',
order_id:
woocommerce_admin_meta_boxes.post_id,
tracking_provider: $(
'#tracking_provider' ).val(),
custom_tracking_provider: $(
'#custom_tracking_provider' ).val(),
custom_tracking_link: $(
'input#custom_tracking_link' ).val(),
tracking_number: $(
'input#tracking_number' ).val(),
date_shipped: $(
'input#date_shipped' ).val(),
security: $(
'#wc_shipment_tracking_create_nonce' ).val()
};
$.post( woocommerce_admin_meta_boxes.ajax_url,
data, function( response ) {
$( '#shipment-tracking-form' ).unblock();
if ( response != '-1' ) {
$( '#shipment-tracking-form'
).hide();
$( '#woocommerce-shipment-tracking
#tracking-items' ).append( response );
$( '#woocommerce-shipment-tracking
button.button-show-form' ).show();
$( '#tracking_provider'
).selectedIndex = 0;
$( '#custom_tracking_provider'
).val( '' );
$( 'input#custom_tracking_link'
).val( '' );
$( 'input#tracking_number' ).val(
'' );
$( 'input#date_shipped' ).val( ''
);
$('p.preview_tracking_link').hide();
}
});
return false;
},
// Show the new tracking item form
show_form: function () {
$( '#shipment-tracking-form' ).show();
$( '#woocommerce-shipment-tracking button.button-
show-form' ).hide();
},
// Delete a tracking item
delete_tracking: function() {
var tracking_id = $( this ).attr( 'rel' );
$( '#tracking-item-' + tracking_id ).block({
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
});
var data = {
action:
'wc_shipment_tracking_delete_item',
order_id:
woocommerce_admin_meta_boxes.post_id,
tracking_id: tracking_id,
security: $(
'#wc_shipment_tracking_delete_nonce' ).val()
};
$.post( woocommerce_admin_meta_boxes.ajax_url,
data, function( response ) {
$( '#tracking-item-' + tracking_id
).unblock();
if ( response != '-1' ) {
$( '#tracking-item-' + tracking_id
).remove();
}
});
return false;
},
refresh_items: function() {
var data = {
action:
'wc_shipment_tracking_get_items',
order_id:
woocommerce_admin_meta_boxes.post_id,
security: $(
'#wc_shipment_tracking_get_nonce' ).val()
};
$( '#woocommerce-shipment-tracking' ).block( {
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
} );
$.post( woocommerce_admin_meta_boxes.ajax_url,
data, function( response ) {
$( '#woocommerce-shipment-tracking'
).unblock();
if ( response != '-1' ) {
$( '#woocommerce-shipment-tracking
#tracking-items' ).html( response );
}
});
},
}
wc_shipment_tracking_items.init();
window.wc_shipment_tracking_refresh =
wc_shipment_tracking_items.refresh_items;
} )(jQuery); //FIXED DAK 8/14/20
Now that plugin works like before on the Edit Order page.
--------------------------
Okay, *now* I see OTHER places where I can't see items also. Like the pull
down boxes in my theme's Menu editor.
[https://www.dropbox.com/s/4of47izpnltdvci/ice_screenshot_20200816-110948.jpeg?dl=0]
I guess I will have to roll back my WP to a previous version until this is
fixed.
Sorry if my report is poorly written..:-)
Regards,
Dave K.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/51035>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list