Commit 8a83c3bf481 for woocommerce
commit 8a83c3bf481eb268205911695ccd7be01075eb02
Author: Taha Paksu <3295+tpaksu@users.noreply.github.com>
Date: Mon Mar 9 11:45:31 2026 +0300
[WOOPLUG-6376] update: add IE, PT with Packlink and move DE to Packlink (#63567)
* [WOOPLUG-6376] update: add IE, PT with Packlink and move DE to Packlink
* [WOOPLUG-6376] update: add IE, PT with Packlink, move DE to Packlink, GB shipstation-only in settings
- Core Profiler: remove DE from ShipStation, add DE/IE/PT to Packlink
- Task List: add IE/PT to Packlink is_visible and countries_where_primary
- Shipping.php: add IE/PT to can_view() country list
- Shipping Settings: DE now Packlink only, GB now ShipStation only, add IE/PT
- Update tests to match new country assignments
* [WOOPLUG-6376] test: update shipping task eligible countries data provider
Add IE, PT and sync missing countries (US, NZ, SG, HK, MX, CO) in the
can_view eligible countries data provider to match the current country list.
* Add changefile(s) from automation for the following project(s): woocommerce, woocommerce/client/admin
---------
Co-authored-by: woocommercebot <woocommercebot@users.noreply.github.com>
diff --git a/plugins/woocommerce/changelog/63567-update-wooplug-6376-add-ie-pt-with-packlink-and-move-de-to-packlink b/plugins/woocommerce/changelog/63567-update-wooplug-6376-add-ie-pt-with-packlink-and-move-de-to-packlink
new file mode 100644
index 00000000000..74d64d63265
--- /dev/null
+++ b/plugins/woocommerce/changelog/63567-update-wooplug-6376-add-ie-pt-with-packlink-and-move-de-to-packlink
@@ -0,0 +1,4 @@
+Significance: patch
+Type: tweak
+Comment: Update shipping partner suggestions to add Ireland and Portugal with Packlink, and move Germany to Packlink.
+
diff --git a/plugins/woocommerce/client/admin/client/shipping/experimental-shipping-recommendations.tsx b/plugins/woocommerce/client/admin/client/shipping/experimental-shipping-recommendations.tsx
index 82cc9ab178d..af7f6e7fe3d 100644
--- a/plugins/woocommerce/client/admin/client/shipping/experimental-shipping-recommendations.tsx
+++ b/plugins/woocommerce/client/admin/client/shipping/experimental-shipping-recommendations.tsx
@@ -32,13 +32,15 @@ const COUNTRY_EXTENSIONS_MAP: Record< string, ExtensionId[] > = {
FR: [ 'packlink' ],
ES: [ 'packlink' ],
IT: [ 'packlink' ],
- DE: [ 'shipstation', 'packlink' ],
- GB: [ 'shipstation', 'packlink' ],
+ DE: [ 'packlink' ],
+ GB: [ 'shipstation' ],
NL: [ 'packlink' ],
AT: [ 'packlink' ],
BE: [ 'packlink' ],
AU: [ 'shipstation' ],
NZ: [ 'shipstation' ],
+ IE: [ 'packlink' ],
+ PT: [ 'packlink' ],
};
const EXTENSION_PLUGIN_SLUGS: Record< ExtensionId, string > = {
diff --git a/plugins/woocommerce/client/admin/client/shipping/test/experimental-shipping-recommendations.tsx b/plugins/woocommerce/client/admin/client/shipping/test/experimental-shipping-recommendations.tsx
index d8938ce0359..88c97c7fe2a 100644
--- a/plugins/woocommerce/client/admin/client/shipping/test/experimental-shipping-recommendations.tsx
+++ b/plugins/woocommerce/client/admin/client/shipping/test/experimental-shipping-recommendations.tsx
@@ -122,23 +122,27 @@ describe( 'ShippingRecommendations', () => {
expect( screen.queryByText( 'Packlink PRO' ) ).toBeInTheDocument();
} );
- it( 'should show ShipStation and Packlink PRO for DE', () => {
+ it( 'should show only Packlink PRO for DE', () => {
mockSelectForCountry( 'DE' );
render( <ShippingRecommendations /> );
expect(
screen.queryByText( 'WooCommerce Shipping' )
).not.toBeInTheDocument();
- expect( screen.queryByText( 'ShipStation' ) ).toBeInTheDocument();
+ expect(
+ screen.queryByText( 'ShipStation' )
+ ).not.toBeInTheDocument();
expect( screen.queryByText( 'Packlink PRO' ) ).toBeInTheDocument();
} );
- it( 'should show ShipStation and Packlink PRO for GB', () => {
+ it( 'should show only ShipStation for GB', () => {
mockSelectForCountry( 'GB' );
render( <ShippingRecommendations /> );
expect( screen.queryByText( 'ShipStation' ) ).toBeInTheDocument();
- expect( screen.queryByText( 'Packlink PRO' ) ).toBeInTheDocument();
+ expect(
+ screen.queryByText( 'Packlink PRO' )
+ ).not.toBeInTheDocument();
} );
it( 'should show only ShipStation for AU', () => {
@@ -158,7 +162,7 @@ describe( 'ShippingRecommendations', () => {
expect( screen.queryByText( 'ShipStation' ) ).toBeInTheDocument();
} );
- it.each( [ 'ES', 'IT', 'NL', 'AT', 'BE' ] )(
+ it.each( [ 'ES', 'IT', 'NL', 'AT', 'BE', 'IE', 'PT' ] )(
'should show only Packlink PRO for %s',
( country ) => {
mockSelectForCountry( country );
@@ -218,10 +222,9 @@ describe( 'ShippingRecommendations', () => {
} );
it( 'should not show Packlink PRO when it is already active', () => {
- mockSelectForCountry( 'DE', [ 'packlink-pro-shipping' ] );
+ mockSelectForCountry( 'FR', [ 'packlink-pro-shipping' ] );
render( <ShippingRecommendations /> );
- expect( screen.queryByText( 'ShipStation' ) ).toBeInTheDocument();
expect(
screen.queryByText( 'Packlink PRO' )
).not.toBeInTheDocument();
@@ -287,8 +290,7 @@ describe( 'ShippingRecommendations', () => {
{
context: 'settings',
country: 'DE',
- plugins:
- 'woocommerce-shipstation-integration,packlink-pro-shipping',
+ plugins: 'packlink-pro-shipping',
}
);
} );
diff --git a/plugins/woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Shipping.php b/plugins/woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Shipping.php
index 6b2a501118c..de27eaebab2 100644
--- a/plugins/woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Shipping.php
+++ b/plugins/woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Shipping.php
@@ -116,7 +116,7 @@ class Shipping extends Task {
return true;
}
- return in_array( $store_country, array( 'US', 'CA', 'AU', 'NZ', 'SG', 'HK', 'GB', 'ES', 'IT', 'DE', 'FR', 'MX', 'CO', 'CL', 'AR', 'PE', 'BR', 'UY', 'GT', 'NL', 'AT', 'BE' ), true );
+ return in_array( $store_country, array( 'US', 'CA', 'AU', 'NZ', 'SG', 'HK', 'GB', 'ES', 'IT', 'DE', 'FR', 'MX', 'CO', 'CL', 'AR', 'PE', 'BR', 'UY', 'GT', 'NL', 'AT', 'BE', 'IE', 'PT' ), true );
}
return self::has_physical_products();
diff --git a/plugins/woocommerce/src/Admin/Features/ShippingPartnerSuggestions/DefaultShippingPartners.php b/plugins/woocommerce/src/Admin/Features/ShippingPartnerSuggestions/DefaultShippingPartners.php
index ec803289ca8..1258289252d 100644
--- a/plugins/woocommerce/src/Admin/Features/ShippingPartnerSuggestions/DefaultShippingPartners.php
+++ b/plugins/woocommerce/src/Admin/Features/ShippingPartnerSuggestions/DefaultShippingPartners.php
@@ -212,10 +212,10 @@ class DefaultShippingPartners {
),
'learn_more_link' => 'https://wordpress.org/plugins/packlink-pro-shipping/',
'is_visible' => array(
- self::get_rules_for_countries( array( 'FR', 'DE', 'ES', 'IT', 'NL', 'AT', 'BE' ) ),
+ self::get_rules_for_countries( array( 'FR', 'DE', 'ES', 'IT', 'NL', 'AT', 'BE', 'IE', 'PT' ) ),
),
'available_layouts' => array( 'row', 'column' ),
- 'countries_where_primary' => array( 'FR', 'DE', 'ES', 'IT', 'NL', 'AT', 'BE' ),
+ 'countries_where_primary' => array( 'FR', 'DE', 'ES', 'IT', 'NL', 'AT', 'BE', 'IE', 'PT' ),
),
array(
'id' => 'woocommerce-shipping',
diff --git a/plugins/woocommerce/src/Internal/Admin/RemoteFreeExtensions/DefaultFreeExtensions.php b/plugins/woocommerce/src/Internal/Admin/RemoteFreeExtensions/DefaultFreeExtensions.php
index 8e9eb4d2ee1..791cd5a7767 100644
--- a/plugins/woocommerce/src/Internal/Admin/RemoteFreeExtensions/DefaultFreeExtensions.php
+++ b/plugins/woocommerce/src/Internal/Admin/RemoteFreeExtensions/DefaultFreeExtensions.php
@@ -482,7 +482,7 @@ class DefaultFreeExtensions {
'is_visible' => array(
array(
'type' => 'base_location_country',
- 'value' => array( 'CA', 'DE', 'GB', 'AU', 'NZ' ),
+ 'value' => array( 'CA', 'GB', 'AU', 'NZ' ),
'operation' => 'in',
),
),
@@ -495,7 +495,7 @@ class DefaultFreeExtensions {
'is_visible' => array(
array(
'type' => 'base_location_country',
- 'value' => array( 'FR', 'ES', 'IT', 'NL', 'AT', 'BE' ),
+ 'value' => array( 'FR', 'ES', 'IT', 'DE', 'NL', 'AT', 'BE', 'IE', 'PT' ),
'operation' => 'in',
),
),
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/features/onboarding-tasks/tasks/shipping.php b/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/features/onboarding-tasks/tasks/shipping.php
index 9db22e524eb..5e52403e304 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/features/onboarding-tasks/tasks/shipping.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/features/onboarding-tasks/tasks/shipping.php
@@ -150,13 +150,19 @@ class WC_Admin_Tests_OnboardingTasks_Task_Shipping extends WC_Unit_Test_Case {
*/
public function data_provider_can_view_eligible_countries() {
return array(
- array( 'AU' ),
+ array( 'US' ),
array( 'CA' ),
+ array( 'AU' ),
+ array( 'NZ' ),
+ array( 'SG' ),
+ array( 'HK' ),
array( 'GB' ),
array( 'ES' ),
array( 'IT' ),
array( 'DE' ),
array( 'FR' ),
+ array( 'MX' ),
+ array( 'CO' ),
array( 'CL' ),
array( 'AR' ),
array( 'PE' ),
@@ -166,6 +172,8 @@ class WC_Admin_Tests_OnboardingTasks_Task_Shipping extends WC_Unit_Test_Case {
array( 'NL' ),
array( 'AT' ),
array( 'BE' ),
+ array( 'IE' ),
+ array( 'PT' ),
);
}
}