wc_shipping_methods_have_changed()
See if the methods have changed since the last request.
No Hooks.
Returns
true|false.
Usage
wc_shipping_methods_have_changed( $key, $package );
- $key(int) (required)
- Key of package.
- $package(array) (required)
- Package data array.
Changelog
| Since 3.2.0 | Introduced. |
wc_shipping_methods_have_changed() wc shipping methods have changed code WC 10.7.0
function wc_shipping_methods_have_changed( $key, $package ) {
if ( ! is_callable( array( WC()->session, 'get' ) ) ) {
return false;
}
// Lookup previous methods from session.
$previous_shipping_methods = WC()->session->get( 'previous_shipping_methods' );
// Get new and old rates.
$new_rates = array_keys( $package['rates'] );
$prev_rates = isset( $previous_shipping_methods[ $key ] ) ? $previous_shipping_methods[ $key ] : false;
// Update session.
$previous_shipping_methods[ $key ] = $new_rates;
WC()->session->set( 'previous_shipping_methods', $previous_shipping_methods );
return $new_rates !== $prev_rates;
}