Jak skrýt určitou dopravní metodu na základě uživatelské role - Affinite.io CZ

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

Doprava a propojení PPL pro WooCommerce
Doprava a propojení PPL pro WooCommerce
03 Říj, 2021
Jak přidat vlastní tab do detailu produktu
Jak přidat vlastní tab do detailu produktu
06 Říj, 2021

Looking for something?