Я пытаюсь реализовать функцию, позволяющую обновлять товар в корзине с помощью пользовательских атрибутов (отображается в полях ввода в представлении продукта).
Моя стратегия заключается в удалении существующего товара путем добавления ссылки. на странице корзины вот так:
/ product / my-product /? edit_item = 7326b7ed789bc9ae1ddfe97fd0abcf72 (ключ)
Затем я хочу удалить этот продукт, как только пользователь нажмет на кнопку «добавить»в корзину ".
Я пробовал это решение здесь (первый ответ):
Удалить определенный элемент корзины при добавлении в корзину определенного продукта в Woocommerce
и этот (также первый ответ):
Wordpress. WooCommerce. Хук действия ДО добавления в корзину
и у меня есть этот код сейчас:
function so_validate_add_cart_item( $passed, $product_id, $quantity, $variation_id = '', $variations= '' ) {
GLOBAL $woocommerce;
$keytoremove=$_GET['edit_item'];
// do your validation, if not met switch $passed to false
if ( 1 != 2 ){
$passed = true;
// $woocommerce->cart->remove_cart_item($keytoremove);
wc_add_notice( __( $keytoremove. ' was removed', 'textdomain' ), 'notice' );
}
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'so_validate_add_cart_item', 10, 5 );
Проблема в том, что я не могу получить доступ к переменной ... $ _GET ['edit_item']пустой. Поэтому я получаю уведомление «был удален». Добавление скрытого поля формы также не помогло.
Как я могу получить доступ к этой переменной? Спасибо!