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

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

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *