Woocommerce Hook woocommerce_before_calculate_totals теряет глобальные определенияPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Woocommerce Hook woocommerce_before_calculate_totals теряет глобальные определения

Сообщение Anonymous »

Я пытаюсь добавить действие для перерасчета общей стоимости корзины с измененной ценой для клиентов со скидками. Код находится в моей теме 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 );
функция 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 ... efinitions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»