Role Based Price For WooCommerce
add_filter("wc_rbp_product_get_price", function($wcrbp_price, $product, $rbp_this) {
if (class_exists('WOOCS')) {
$sale_price = $product->get_sale_price();
global $WOOCS;
if ($WOOCS->is_multiple_allowed AND ( $sale_price !== '' && $sale_price > 0 )) {
$currrent = $WOOCS->current_currency;
if ($currrent != $WOOCS->default_currency) {
$currencies = $WOOCS->get_currencies();
$rate = $currencies[$currrent]['rate'];
$wcrbp_price = $wcrbp_price / $rate;
}
}
}
return $wcrbp_price;
}, 99, 3);
Dans le fichier wp-content\plugins\woocommerce-role-based-price\includes\class-product-pricing.php, ajoutez le code suivant :
if (class_exists('WOOCS')) {
global $WOOCS;
if ($WOOCS->is_multiple_allowed) {
$prices['min_price'] = $WOOCS->woocs_exchange_value(floatval($prices['min_price']));
$prices['max_price'] = $WOOCS->woocs_exchange_value(floatval($prices['max_price']));
$prices['min_reg_price'] = $WOOCS->woocs_exchange_value(floatval($prices['min_reg_price']));
$prices['max_reg_price'] = $WOOCS->woocs_exchange_value(floatval($prices['max_reg_price']));
}
}
Dans le fichier \wp-content\plugins\woocommerce-role-based-price\includes\class-product-pricing.php, modifiez le code :
if( $is_hook == TRUE OR (class_exists('WOOCS') AND defined( 'DOING_AJAX' )) ) {
Remarque : malheureusement, cela ne fonctionne pas avec l'option "I am using cache plugin on my site"
Cette modification se trouve dans le fichier d'un autre plugin, donc une mise à jour du plugin l'annulera. Notez la modification et réappliquez-la après chaque mise à jour de ce plugin — ou demandez à ses auteurs d'inclure le correctif de leur côté, ce qui est la seule version qui perdure. Si la modification est à l'intérieur de FOX lui-même, dites-nous : un correctif qui doit être réappliqué manuellement est un bug de notre côté, pas une solution.