@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);
					
				}
			}
		}
	}
  • Вопрос задан
  • 716 просмотров
Решения вопроса 1
Ищите в своем коде ту скроку которая навешивает этот обработчик 'wdm_empty_cart'
Ошибка говорит, что не может найти функцию обработчик, либо функция объявлена неверно. Например, когда функция является членом класса, а при ее привязке к хуку (add_action, add_filter) забыли указать $this или self::

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

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

Войти через центр авторизации
Похожие вопросы