Intereting Posts
Отображение проблемы с твитами с именем @username Как настроить WPLANG в wp-config.php для 4 языков? Те же комментарии ко всем сообщениям Как добавить значок ожидания для ajax в WP frontend? Поиск ссылок на статистику популярности WordPress Отправлять почту пользователю только один раз, когда выбран определенный флажок и обновлен из профиля, обновленного администратором Как удалить поток комментариев CPT из заголовка? Проблемы с созданием плагина tinyMCE, который создает настраиваемую ссылку @media применяется во всем мире, а не отдельно для каждой ширины экрана Стресс-тестирование WordPress Почему нет / 2013/01 / правильно вернуть январские архивы в archive.php? используя следующую страницу и предыдущую страницу внутри wp_query Запуск фильтра или короткого кода перед запросом запрещает выдержку из показа Использование Travis CI для запуска модульных тестов и запуска phpunit локально Значение выводится вне эха

Как добавить эту функцию к нескольким продуктам или всем продуктам определенной категории?

Эти функции отлично работают с одним продуктом, но у меня есть еще несколько продуктов, которые я бы хотел применить.

Эта функция делает второй заказ за $ 0,00 для каждого клиента, тогда как первый заказ составляет 100 долларов США.

Я не могу понять выход.

Вот код:

add_action( 'woocommerce_before_calculate_totals', 'conditionally_change_cart_items_price', 10, 1 ); function conditionally_change_cart_items_price( $cart_object ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; $targeted_product_id = 1107; // Set Here your custom price (1st purshase) $custom_price = 100; // First purshase for product ID 1092 // Detecting if customer has already bought The targeted product (1092) if( is_user_logged_in() ){ $customer = wp_get_current_user(); $customer_id = $customer->ID; // customer ID $customer_email = $customer->email; // customer email if( wc_customer_bought_product( $customer_email, $customer_id, $targeted_product_id) ) $custom_price = 0; // Set to 0 for other purchases (product ID 1092) } foreach ( $cart_object->get_cart() as $cart_item ) { // When targeted product is in cart we change the price if ( $cart_item['product_id'] == $targeted_product_id ) { // Woocommerce 3+ compatibility if ( version_compare( WC_VERSION, '3.0', '<' ) ) $cart_item['data']->price = $custom_price; else $cart_item['data']->set_price( $custom_price ); } } }