add_action( 'woocommerce_before_calculate_totals', 'set_the_discount' );
function set_the_discount( $cart ) {
foreach ( $cart->cart_contents as $key => $value ) {
//please check whether your item is the second item of your cart or not?
//if this is your second item in your cart
//Set the 50% discount
$product_id = $value['product_id'];
$product = wc_get_product($product_id);
$get_price = $product->get_price();
$new_price = $get_price / 2;
$value['data']->set_price($new_price);
}
}
This hook can be used to set the price directly to the cart. Hope this may help
Лучший способ сделать это является этим:
1) создают каталог с src\
, и tests\
в нем (тесты является дополнительным, если Вы не используете JUnit).
2) принятие Вы имеете package myjava;
наверху Ваших файлов (и удостоверьтесь, что это - то, что хочет Ваш профессор, это становится болью для маркировки вещей, если они не находятся в правильном месте), сделайте src\myjava
каталог (и если Вы делаете JUnit tests\myjava
каталог).
3) копируют Ваши файлы в src\myjava
каталог
4), удаляют Ваш проект NetBeans и воссоздают его как новое на с вырезанием источников. Когда Вы настраиваете src
(и дополнительный test
), каталоги добавляют src\
(и дополнительно tests\
) каталог. НЕ добавляйте src\myjava
каталог, или он не будет работать в NetBeans.
5) делают каталог названным classes\
(так Вы, Вы имеете src\
, classes\
, и возможно \tests
все в том же месте)
6) на типе javac -d classes -cp classes src/myjava/*.java
-d
командной строки говорит компилятор, куда поместить .class файлы -cp
, говорит компилятор, где искать classfilessrc/myjava/*.java
, говорит, что он для компиляции всех .java файлов в [1 119] 7) выполняет его через [1 120]
-cp
, классы говорят, что это для взгляда в каталоге классов для .class файлов myjava.Main
является название класса для выполнения Выполните эти шаги (примеры кода являются просто примерами, необходимо будет настроить некоторых для установки):
Набор Ваш JAVA_HOME к каталогу, где JDK установлен.
устанавливает JAVA_HOME =, "c:\Program Files\Java\jre1.6.0_12"
Установил Ваш ПУТЬ для включения bin
каталог в JAVA_HOME.
установленный ПУТЬ = % ПУТИ %: Изменение % JAVA_HOME %\bin
в корневом каталоге Вашего исходного кода. Если Вы объявили, что Ваш код находится в пакетах, это - корневой каталог Вашей структуры пакета. В противном случае это - каталог, который содержит Ваши .java файлы:
CD c:\My\Source\Directory
Выполняют javac с Вашими файлами Java как аргумент:
javac Class1.java Class2.java
(Принятие всего компилирует правильно) Выполняются java
с названием класса, содержащего Ваш основной метод как аргумент (если Вы включали объявления пакета, тогда Ваше имя класса полностью определяется, означая, что это должно включать имя пакета перед именем класса с a'.', разделяющим имя пакета от имени класса):
Java, Основной
Для выполнения Вам просто нужно
java Main
вместо того, чтобы поместить каждый класс на командную строку.
Вы объявляли пакет в своих .java файлах? Как,
пакет myjava;
? Если так, командная строка должна быть
java myjava.Main
, который отвечает на Ваши вопросы?