Я пытаюсь добавить действие для перерасчета общей стоимости корзины с измененной ценой для клиентов со скидками. Код находится в моей теме function.php. Проблема в том, что если я включу add_action( 'woocommerce_before_calculate_totals', 'bis_recalc_price', 10 );, я получаю сообщение об ошибке Неустранимая ошибка PHP: необнаруженная ошибка: неопределенная константа "API_CUSTOMER_NAME". > Константа определена в wp-config.php. Если я снова определяю константу внутри функции, я получаю новую ошибку: Неустранимая ошибка PHP: Необнаруженная ошибка: вызов неопределенной функции get_meta() Это происходит только тогда, когда я пытаюсь включить woocommerce_before_calculate_totals. Также проблема возникает только в этой функции. Все остальные функции в файле работают нормально.
add_action( 'woocommerce_before_calculate_totals', 'bis_recalc_price', 10 );
function bis_recalc_price( $cart_object ){
$customerArray=api_authCustomer(API_CUSTOMER_NAME, API_PASSORD);
foreach ($cart_object->get_cart() as $hash => $value) {
if(isset($_COOKIE['wt_customerID'])) {
$_product = $value['data'];
$is_on_sale = $value['data']->is_on_sale();
$bisProductArray = api_getProductByIDonly($_product->get_sku(), $customerToken);
$SellPerText = $bisProductArray[0][0]['SellPerText'];
$custID = $_COOKIE['wt_customerID'];
$prodID = get_meta('bis_prodID', true);
$prodID = get_post_meta($value['data']->get_id(),'bis_prodID', true);
if ($prodID > 0) {
$priceStockArray = api_customerpriceandstocklevel($custID, $prodID, $SellPerText, $customerToken);
$customer_price=$priceStockArray[0]['CustomerPrice'][0]['UnitSellPrice'];
if ( $is_on_sale and ($_product->get_sale_price()>0)) {
if ($customer_price > $_product->get_sale_price()) {
$customer_price = $_product->get_sale_price();
}
}
$value['data']->set_price($customer_price);
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... -constants
WooCommerce Hook woocommerce_before_calculate_totals теряет определенные константы ⇐ Php
Кемеровские программисты php общаются здесь
1734115883
Anonymous
Я пытаюсь добавить действие для перерасчета общей стоимости корзины с измененной ценой для клиентов со скидками. Код находится в моей теме function.php. Проблема в том, что если я включу [b]add_action( 'woocommerce_before_calculate_totals', 'bis_recalc_price', 10 );[/b], я получаю сообщение об ошибке [b]Неустранимая ошибка PHP: необнаруженная ошибка: неопределенная константа "API_CUSTOMER_NAME".[/b] > Константа определена в wp-config.php. Если я снова определяю константу внутри функции, я получаю новую ошибку: [b]Неустранимая ошибка PHP: Необнаруженная ошибка: вызов неопределенной функции get_meta()[/b] Это происходит только тогда, когда я пытаюсь включить woocommerce_before_calculate_totals. Также проблема возникает только в этой функции. Все остальные функции в файле работают нормально.
add_action( 'woocommerce_before_calculate_totals', 'bis_recalc_price', 10 );
function bis_recalc_price( $cart_object ){
$customerArray=api_authCustomer(API_CUSTOMER_NAME, API_PASSORD);
foreach ($cart_object->get_cart() as $hash => $value) {
if(isset($_COOKIE['wt_customerID'])) {
$_product = $value['data'];
$is_on_sale = $value['data']->is_on_sale();
$bisProductArray = api_getProductByIDonly($_product->get_sku(), $customerToken);
$SellPerText = $bisProductArray[0][0]['SellPerText'];
$custID = $_COOKIE['wt_customerID'];
$prodID = get_meta('bis_prodID', true);
$prodID = get_post_meta($value['data']->get_id(),'bis_prodID', true);
if ($prodID > 0) {
$priceStockArray = api_customerpriceandstocklevel($custID, $prodID, $SellPerText, $customerToken);
$customer_price=$priceStockArray[0]['CustomerPrice'][0]['UnitSellPrice'];
if ( $is_on_sale and ($_product->get_sale_price()>0)) {
if ($customer_price > $_product->get_sale_price()) {
$customer_price = $_product->get_sale_price();
}
}
$value['data']->set_price($customer_price);
}
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79279006/woocommerce-hook-woocommerce-before-calculate-totals-looses-defined-constants[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия