WooCommerce Class WC_Cart работает, но не меняет корзину для вошедшего в систему пользователя - PullRequest
0 голосов
/ 24 октября 2018

У меня возникли проблемы с передачей непустых корзин.

Моя цель - очистить корзину, когда пользователь входит в систему.

Я создал подключаемый модуль, который подключается к WP login.

Похоже, что он делает именно то, что я хочу от вывода команд запроса корзины, но в пользовательской корзине WC все еще есть содержимое.

Вот мой код плагина:

function WPLoginAction() {

    $myfile = fopen("/home3/fitnevq7/public_html/scriptlogs/wploginnew", "w");

    $txt = "wp login start \n";

    fwrite($myfile, $txt);

    $ISEmpty = WC()->cart->is_empty();

    $txt = "is Cart empty before = " . $ISEmpty . "\n";

    fwrite($myfile, $txt);

    $count= WC()->cart->get_cart_contents_count();

    $txt = "var count = " . $count . "\n";

    fwrite($myfile, $txt);

    global $woocommerce;

    $var = $woocommerce->cart->empty_cart(true);


    $txt = "var result = " . $var . "\n";

    fwrite($myfile, $txt);

    $count= WC()->cart->get_cart_contents_count();

    $txt = "var count after delete  = " . $count . "\n";

    fwrite($myfile, $txt);

    $ISEmpty = WC()->cart->is_empty();

    $txt = "is Cart empty after = " . $ISEmpty . "\n";

    fwrite($myfile, $txt); 
}
add_action('login_enqueue_scripts', 'WPLoginAction');


}

Вывод из скрипта

wp login start 
is Cart empty before = 
var count = 1
var result = 
var count after delete  = 0
is Cart empty after = 1

Это будет означать, что скрипт работает, но корзина WC все еще отображается с одним элементом через GUI.

Обратите внимание, что я создал страницу WPс двумя строками кода ниже и работает эта страница работает.

global $woocommerce;

$var = $woocommerce->cart->empty_cart(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...