У меня есть этот код:
add_action('woocommerce_init', 'on_woocommerce');
function on_woocommerce(){
function log_cart(){
global $woocommerce;
$cart_content = $woocommerce->cart->get_cart();
log_debug($cart_content,'$cart_content');
}
if(HLP_DEBUG){
log_cart();
}
}
Но это дает мне ошибку, потому что $ WooCommerce равна нулю.
Вместо если я использую это:
add_action('woocommerce_init', 'on_woocommerce');
function on_woocommerce(){
function log_cart(){
$cart_content = WC()->cart->get_cart();
log_debug($cart_content,'$cart_content');
}
if(HLP_DEBUG){
log_cart();
}
}
Все это правильно и работает.
Код внутри другой функции, выполняемой на woocommerce_init
HOOK. Для чего мои знания должны работать.
Не могли бы вы объяснить, почему первый не делает этого?
log_cart подключен к этому крючку в первом примере? Можете ли вы быть более ясными? – chugadie
Обновлено, чтобы сделать структуру моего кода более понятной – Ferex
@LoicTheAztec '$ woocommerce-> cart = new WC_Cart();' ничего не делает – Ferex