That seems fine, except that hook is being added as part of this hook:
add_action( 'init', 'initialize_easyship' );
It appears some sneaky init hook that's being registered with a priority of 5 is initializing WC_Shipping before EasyShip has even had the chance to register it's shipping method
If I change the init hook above to the following I get my shipping methods back (my solution for them moment seeing as EasyShip hasn't updated the plugin in well over a year. I also shot them an email asking if they could make the same change upstream, but given it hasn't been updated in a year, I won't be surprised if they don't):
add_action( 'init', 'initialize_easyship', 4 );
I can also confirm that disabling the PayPal plugin brings back the shipment methods
I've got a backtrace of the init hook that's registered at a priority 5 that's prematurely initializing WC_Shipping (or at least I assume it would be pre-mature for WC_Shipping to be initialized by 5 of init, but maybe not shrug)
Describe the Bug
Updated to the latest version of this plugin recently (2.9.4) and all my shipping options disappeared (using the EasyShip plugin)
Dug around and found that EasyShip is registering it's shipment method like so (appears standard):
That seems fine, except that hook is being added as part of this hook:
It appears some sneaky
init
hook that's being registered with a priority of5
is initializing WC_Shipping before EasyShip has even had the chance to register it's shipping methodIf I change the
init
hook above to the following I get my shipping methods back (my solution for them moment seeing as EasyShip hasn't updated the plugin in well over a year. I also shot them an email asking if they could make the same change upstream, but given it hasn't been updated in a year, I won't be surprised if they don't):I can also confirm that disabling the PayPal plugin brings back the shipment methods
I've got a backtrace of the
init
hook that's registered at a priority5
that's prematurely initializing WC_Shipping (or at least I assume it would be pre-mature for WC_Shipping to be initialized by5
ofinit
, but maybe not shrug)Backtrace:
To Reproduce
Screenshots
Expected Behavior
I would expect
WC_Shipping
to not be initialized by5
ofinit
Actual Behavior
WC_Shipping
is initialized by5
ofinit
so any plugin-based shipping methods that are registered at the default10
ofinit
won't appearEnvironment
Additional Details
I would debug further but I'm starting to get lost in the PayPal plugin code
But this line here: https://github.com/woocommerce/woocommerce-paypal-payments/blob/trunk/modules/ppcp-axo/services.php#L263
Is the line that is being called during the
5
ofinit
which in turn initializesWC_Shipping
Let me know if you need any more details
Thanks!