Hey, je suis stagiaire et on me demande un truc précis. Si un client a acheté ou ajouté à son panier 1 produit (80€). tous les autres passent à 50€, s'il en met deux, il va payer 80€ + 50€ et les autres passent à 25€
J'ai écris ça mais je suis débutante en php..
//changer affichage des prix en fonction du nombre de produits achetés
function number_product_purchased() {
global $product, $woocommerce, $woocommerce_loop;
//Get user
$current_user = wp_get_current_user();
//Récupérer commandes des clients (Completed + Processing)
$customer_orders = get_posts( array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => $current_user->ID,
'post_type' => wc_get_order_types(),
'post_status' => array_keys( wc_get_is_paid_statuses() ),
) );
//parcourir les commandes pour obtenir le nombre d'articles
$product_number = 0;
if ( ! $customer_orders ) return;
foreach ( $customer_orders as $customer_order ) {
$order = wc_get_order( $customer_order->ID );
$items = $order->get_items();
foreach ( $items as $item ) {
$product_number = $product_number + 1;
}
}
//ajout des articles présents dans le panier
$cartcount = WC()->cart->get_cart_contents_count();
$product_number= $product_number + $cartcount;
//changer affichage des prix en fonction du nombre de produits achetés
if($product_number == 1){
function return_custom_price30($price, $product) {
global $post, $blog_id;
$product = wc_get_product ($post_id);
$post_id = $post-> ID;
$price = ($price - 30);
return $price;
}
add_filter('woocommerce_get_price', 'return_custom_price', 10, 2);
}
}
add_action('woocommerce_before_calculate_totals', 'number_product_purchased');