This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
start:website:source [2016/10/12 09:32] andre [Add ship to store option for dealers with less-than-minimum fee] |
start:website:source [2016/10/12 10:52] (current) andre [Add ship to store option for dealers with less-than-minimum fee] |
||
---|---|---|---|
Line 22: | Line 22: | ||
<code> | <code> | ||
/** | /** | ||
- | * @snippet Add field to checkout with conditional fee | + | * @snippet Add Ship to Store field at checkout if user is logged in as a dealer |
* @author André Le Comte | * @author André Le Comte | ||
**/ | **/ | ||
Line 29: | Line 29: | ||
function custom_checkout_field( $checkout ) { | function custom_checkout_field( $checkout ) { | ||
- | //Check if user is a dealer | + | //Check if user is signed in as a dealer i.e., user's role is 'customer' |
- | $user_is_dealer = is_user_a_dealer( 117 ); | + | $user_is_dealer = is_user_a_dealer( customer ); |
//User is dealer so show additional fields | //User is dealer so show additional fields | ||
Line 51: | Line 51: | ||
* @author André Le Comte | * @author André Le Comte | ||
*/ | */ | ||
- | function is_user_a_dealer( $product_id ) { | + | function is_user_a_dealer( $user_roles ) { |
- | //Check to see if user has product in cart | + | //Check to see if user is logged in as a dealer |
global $woocommerce; | global $woocommerce; | ||
- | //flag no book in cart | + | //flag not dealer |
- | $book_in_cart = false; | + | $user_is_dealer = false; |
- | foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) { | + | $user_data = get_userdata( get_current_user_id() ); |
- | $_product = $values['data']; | + | $user_roles = $user_data->roles; |
- | + | if( in_array('customer', $user_roles) ) { | |
- | if ( $_product->id === $product_id ) { | + | //user is logged in as a dealer! |
- | //book is in cart! | + | $user_is_dealer = true; |
- | $book_in_cart = true; | + | |
} | } | ||
} | } | ||
- | return $book_in_cart; | + | return $user_is_dealer; |
} | } | ||
</code> | </code> |