Dans certains cas, vous pourriez vouloir configurer une catégorie de produits spéciale « Vente en gros en promotion » qui regroupe les articles bénéficiant d'une remise supplémentaire basée sur le Prix de gros, et non sur le Prix normal.
Au lieu d'avoir à ajuster manuellement les prix ou les pourcentages, il est possible de le faire par code pour accorder une remise supplémentaire sur le prix de gros des articles qui apparaissent dans cette catégorie « Vente en gros en promotion ».
Notez que je parle spécifiquement d'appliquer la remise sur le prix de gros, et non sur le prix normal. Pour ajuster le pourcentage de remise sur le prix normal, utilisez la fonctionnalité remises en pourcentage par catégorie de produits.
Ceci est un tutoriel avancé et ne devrait être implémenté que si vous avez une bonne compréhension des rôles utilisateurs et des termes de catégories de produits.
Ajoutez l'extrait de code suivant à votre fichier functions.php et ajustez le slug de la catégorie (j'ai utilisé « wholesale-on-sale » ici) et le pourcentage de remise souhaité (0.5 est utilisé ici pour 50% de remise). Vous pouvez également ajouter d'autres conditions « else if » pour tester d'autres rôles ou d'autres catégories.
/**
* Add further discount on top of a product's wholesale price.
* The function below give a further discount on the wholesale price for items in the "Wholesale On Sale" category.
* Important Note: Please adjust this functions code accordingly to fit your needs.
*/
function wwppAddDiscountToSaleCategory( $wholesalePrice , $product_id , $userWholesaleRole ) {
// Get all the category slugs this product belongs to
$terms = wp_get_post_terms( $product_id, 'product_cat' );
$categories = array();
foreach ( $terms as $term )
$categories[] = $term->slug;
/**
* Check if this product is under the "wholesale-on-sale" product category.
* Assuming that we wanted to apply 50% off on all products under this category on top of their existing wholesale price
* Please change 'wholesale-on-sale' category accordingly to fit your needs.
*/
if ( in_array( 'wholesale-on-sale', $categories ) ) {
/**
* Check if the current user have a role of 'wholesale_customer'.
* Assuming we wanted to have this effect on all users under 'wholesale_customer' role.
* Please change the role accordingly to fit your needs.
*/
if ( in_array( 'wholesale_customer', $userWholesaleRole ) ) {
/**
* In this example we are using 50% discount off from the product existing "wholesale price".
* Please change accordingly to fit your needs.
*/
if ( is_array( $wholesalePrice ) && isset( $wholesalePrice[ 'wholesale_price' ] ) )
$wholesalePrice[ 'wholesale_price' ] = $wholesalePrice[ 'wholesale_price' ] - ( $wholesalePrice[ 'wholesale_price' ] * 0.5 );
else
$wholesalePrice = $wholesalePrice - ( $wholesalePrice * 0.5 );
}
// You can add more else if conditions here if you want to test for other wholesale roles
}
// you can add more else if conditions here to test for other product categories
return $wholesalePrice;
}
add_filter( 'wwp_filter_wholesale_price_shop_v2', 'wwppAddDiscountToSaleCategory', 100, 3 );
add_filter( 'wwp_filter_wholesale_price_cart', 'wwppAddDiscountToSaleCategory', 100, 3 );
// You only need to uncomment this if you are using WooCommerce Wholesale Prices plugin lower than verison 1.6.x
// If you are on the latest version of our plugins, no need to uncomment this code to improve performance
// add_filter( 'wwp_filter_wholesale_price', 'wwppAddDiscountToSaleCategory', 100, 3 );
