WooCommerce: как добавить цену товара в корзину через URL? - PullRequest
0 голосов
/ 30 марта 2020

Я нашел возможность добавить в корзину через URL:

http://yoururl.com/cart/?add-to-cart=ID

Я также нашел, как добавить количество и атрибуты, используя эту ссылку, но не могу найти способ добавить цену.
Как использовать эту ссылку, чтобы добавить цену в корзину?

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Если вы хотите добавить товар в корзину по специальной цене, вы не можете это сделать по URL. Вам нужно сделать это через PHP (если вы в настоящее время используете JS, вам нужно будет использовать функцию AJAX, такую ​​как jQuery $ .post и вызывать функцию PHP).

В функции PHP вы добавляете товар:

function addtocart(){
   $cart_item_data['custom_price'] = 5678;
   WC()->cart->add_to_cart( $product_id, 1, 0, array(), $cart_item_data);
}

Вам также нужно будет изменить цену в корзине

// Change product price in the cart
add_action( 'woocommerce_before_calculate_totals', 'change_price_function' );

function change_price_function( $_cart ){
        // loop through the cart_contents
        foreach ( $_cart->cart_contents as $cart_item_key => $value ) {       
            $value['data']->set_price($value['custom_price']);
        }
    }
1 голос
/ 30 марта 2020

Если это простой продукт, цена объявлена.

Если это переменный продукт, вы можете использовать идентификатор вариации.

> href=”http://yourdomain.com/?add-to-cart=88″

Вы можете найти больше Информация об этом здесь. https://businessbloomer.com/woocommerce-custom-add-cart-urls-ultimate-guide/

Если не работает, укажите, какой код вы пытаетесь использовать, и дополнительную информацию о вашей проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...