Задать вопрос
@e_mooshka
Веб-Разработчик

Выскакивает непонятная ошибка wordpress/woocommerce, как исправить?

Вот ошибка: Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'wdm_empty_cart' not found or invalid function name in /home/skazka/domains/skazkamini.ru/public_html/wp-includes/class-wp-hook.php on line 289

289 строка в этом файле:
$value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );


Ошибка появилась после добавления этого кода (добавление нескольких товаров по умолчанию в корзину)
Вот сам код:

add_action( 'template_redirect', 'add_product_to_cart' );
	function add_product_to_cart($quantity) {
		if ( ! is_admin() ) {
			$articles = array(302, 306, 328, 331);
			$found = false;

        // check if product already in cart
			if ( sizeof( WC()->cart->get_cart() ) > 0 ) {

				foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
					$_product = $values['data'];

					if (($key = array_search($_product->id, $articles)) !== false)
						unset($articles[$key]);
				}

            // if product not found, add it
				if ( count($articles) > 0 ) {

					foreach ($articles as $article) {
						WC()->cart->remove_cart_item($article);
					}
				}
			} else {

            // if no products in cart, add it
				foreach ($articles as $article) {
					WC()->cart->add_to_cart($article);
					
				}
			}
		}
	}
  • Вопрос задан
  • 793 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
Ищите в своем коде ту скроку которая навешивает этот обработчик 'wdm_empty_cart'
Ошибка говорит, что не может найти функцию обработчик, либо функция объявлена неверно. Например, когда функция является членом класса, а при ее привязке к хуку (add_action, add_filter) забыли указать $this или self::

В коде который Вы приложили не видно отсылок на эту функцию, скорее всего она косвенно связана.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы