In meinem virtuellen Geschäft, das das Divi-Thema zusammen mit WooCommerce verwendet, habe ich die beiden Benutzergruppen: Endbenutzer und meine Wiederverkäufer, im Fall meines Endkunden müsste nur die Schaltfläche „Kaufen“ erscheinen. Bereits für meine Wiederverkäufer nur die Schaltfläche „Zur Bestellung hinzufügen“ (bereitgestellt vom YITH Request A Quote-Plugin). Falls Zweifel bestehen, wie die Schaltfläche „In den Warenkorb“ für die Reseller-Konten entfernt werden kann, weiß ich, dass ich den Code verwende:
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
Ich entferne die Schaltfläche von der gesamten Website, aber ich versuche, eine Art von zu verwenden if
nur eine Gruppe definieren zu können. Etwas wie das:
$user = wp_get_current_user();
if ( in_array( 'Revenda', (array) $user->roles ) ) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
}
oder dieses:
if( current_user_can('revenda') ) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
}
Ich versuche auch diesen Code:
function user_filter_addtocart_for_shop_page(){
$user_role = get_user_role();
$role_id = get_role('Revenda');
if($user_role == $role_id){
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
}
}
Woher wird get_user_role angezeigt:
function get_user_role() {
global $current_user;
$user_roles = $current_user->roles;
$user_role = array_shift($user_roles);
return $user_role;
}
Wie kann ich das erreichen?
Vielen Dank