Pro B2B e-shopy se může hodit, skrýt určitou dopravní metodu, podle toho, jakou má uživatel roli. Například pro partnery nebudete chtít povolit local pickup.
O tom je dnešní snippet. Funguje jen pro přihlášené a odstraní z pokladny definovanou dopravní metodu:
add_filter( 'woocommerce_package_rates', 'hide_shipping_for_user_role', 10, 2 );
function hide_shipping_for_user_role( $rates, $package ) {
$excluded_role = 'partner';
$shipping_id = 'local_pickup:2';
$user = wp_get_current_user();
if ( empty( $user ) ) return $rates;
if( in_array( $excluded_role, (array) $user->roles ) && isset( $rates[ $shipping_id ] ) )
unset( $rates[ $shipping_id ] );
return $rates;
}
Další užitečné snippety najdete na stránce Užitečné snippety pro WooCommerce