В woocommerce я пытаюсь зарегистрировать товары в корзине для определенной категории товаров, используя:
<code>add_action('woocommerce_before_cart', 'fs_check_category_in_cart');
function fs_check_category_in_cart() {
// Set $cat_in_cart to false
$cat_in_cart = false;
// Loop through all products in the Cart
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
echo '<pre>',print_r($product),'
';
// Если в корзине есть категория «скачать», установите $ cat_in_cart в true
if (has_term ('downloads', 'product_cat', $ product-> get_id ())) {
$ cat_in_cart = true;
перерыв;
}
}
// Делаем что-то, если категория «скачать» находится в корзине
if ($ cat_in_cart) {
// Например, напечатать уведомление
wc_print_notice («Категория загрузки в корзине!», «Уведомление»);
// Или, может быть, запустить свою собственную функцию ...
// ..........
}
}
Я не смог этого достичь. При дальнейшем осмотре, когда я print_r( $product )
конец массива выглядит так:
[current_class_name:WC_Data_Store:private] => WC_Product_Data_Store_CPT
[object_type:WC_Data_Store:private] => product-simple
)
[meta_data:protected] =>
)
1
Эта 1 в конце массива присоединяется к любой переменной, на которую я пытаюсь сослаться. Итак, я получаю
downloads1
Если кто-нибудь знает, откуда это число, может быть, это меня напрягает!
Только для записи: print_r( $woocommerce )
имеет 1 в конце массива.
Любая помощь приветствуется.