мой веб-сайт 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');
Однако, если я использую приведенный выше код, хотя нужный эффект работает, когда я нажимаю «добавить на карту», веб-сайт будет удерживаться (показывать загрузку / вращение) и не сможет мгновенно добавить его в корзину.
Я не уверен, как приведенный выше код противоречит работе системы корзины.