Крюк, чтобы изменить цену всего продукта для текущего пользователя в WooCommerce - PullRequest
0 голосов
/ 27 мая 2019

Хочу изменить цену на весь товар, зависит от текущего пользователя в Woocommerce. Если клиент купил один товар или добавил один товар в корзину за 80 €, то весь товар теперь стоит 50 €. Если это два продукта: первый по 80 €, второй по 50 € и все остальные продукты теперь по 25 €. Какой крюк я могу использовать, чтобы применить новую цену?

Я пробовал это, но когда я захожу на страницу корзины, появляется белая страница

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 == 9){

            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');

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...