Система корзины woocommerce конфликтует с SESSSION - PullRequest
0 голосов
/ 28 февраля 2020

мой веб-сайт woocommerce работает с пользователями, владеющими несколькими языками, и мне нужно было разрешить посетителям выбирать их собственный язык.

Если выбран этот параметр, языковые настройки будут сохранены в сеансе php.

// LOCALE LANGUAGE
function my_lang(){
    session_start();
    if (isset ($_GET['lang']) ){
    $_SESSION['lang'] = $_GET['lang'];
    }
     $lang=$_SESSION['lang'];
    if ($lang == 'en_US'){
        switch_to_locale('en_US');
        $_SESSION['lang'] = 'en_US';
            echo '<style>';
            echo '.zhclass{display:none}';
            echo '.enclass{display:inline}';
            echo '</style>';
    }else{
        switch_to_locale('zh_TW');
        $_SESSION['lang'] = 'zh_TW';
            echo '<style>';
            echo '.enclass{display:none}';
            echo '.zhclass{display:inline}';
            echo '</style>';
    };
}
add_action( 'init', 'my_lang');

Однако, если я использую приведенный выше код, хотя нужный эффект работает, когда я нажимаю «добавить на карту», ​​веб-сайт будет удерживаться (показывать загрузку / вращение) и не сможет мгновенно добавить его в корзину.

enter image description here Я не уверен, как приведенный выше код противоречит работе системы корзины.

1 Ответ

0 голосов
/ 28 февраля 2020

Вывод CSS необходимо выполнять отдельно в другой функции / подключении к головке.

...