Ändern des WooCommerce-Anzeigepreises basierend auf Benutzerrolle und -kategorie [geschlossen]
13
Ich möchte einen anderen Preis basierend auf einer Benutzerrolle (Großhändler, Händler usw.) UND basierend auf der Kategorie anzeigen.
Es gibt ein Plugin für dynamische Preise, das diese Rabatte anzeigt, sobald ein Artikel zum Warenkorb hinzugefügt wird, jedoch nicht auf der Seite.
Gibt es eine Möglichkeit, mithilfe eines Filters oder einer Aktion nach der Benutzerebene zu suchen, die Kategorie des Artikels zu überprüfen und dann den Preis dynamisch zu ändern?
Ja, Sie können den woocommerce_get_priceFilter-Hook verwenden, um den Wert basierend auf der Benutzerrolle zu filtern und einen entsprechenden Preis zurückzugeben. Beispiel:
add_filter('woocommerce_get_price','custom_price_WPA111772',10,2);/**
* custom_price_WPA111772
*
* filter the price based on category and user role
* @param $price
* @param $product
* @return
*/function custom_price_WPA111772($price, $product){if(!is_user_logged_in())return $price;//check if the product is in a category you want, let say shirtsif( has_term('shirts','product_cat',$product->ID)){//check if the user has a role of dealer using a helper function, see bellowif(has_role_WPA111772('dealer')){//give user 10% of
$price = $price *0.9;}}return $price;}/**
* has_role_WPA111772
*
* function to check if a user has a specific role
*
* @param string $role role to check against
* @param int $user_id user id
* @return boolean
*/function has_role_WPA111772($role ='',$user_id =null){if( is_numeric( $user_id ))
$user = get_user_by('id',$user_id );else
$user = wp_get_current_user();if( empty( $user ))returnfalse;return in_array( $role,(array) $user->roles );}
Derzeit befindet sich das Plugin in der Anfangsphase, es wird jedoch bald Updates geben, um zusätzliche Funktionen wie den Preis je nach Produktkategorie zu unterstützen.
Sie können die kundenspezifischen Preise für WooCommerce ausprobieren . Mit diesem Plugin können Sie verschiedene Preise für registrierte Benutzer hinzufügen.
Derzeit befindet sich das Plugin in der Anfangsphase, es wird jedoch bald Updates geben, um zusätzliche Funktionen wie den Preis je nach Produktkategorie zu unterstützen.
quelle