【问题标题】:woocommerce cart system conflicts with SESSSIONwoocommerce 购物车系统与 SESSION 冲突
【发布时间】:2020-06-12 09:54:30
【问题描述】:

我的 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');

但是,如果我使用上面的代码,虽然预期的效果是有效的,但当我按下“添加到卡”时,网站将被暂停(显示加载/旋转)并且无法立即添加到购物车。

我不确定上面的代码是如何与购物车系统的工作冲突的。

【问题讨论】:

  • 您在那里制作的回声输出可能会在以后设置标题时出现问题......
  • 是的,谢谢你,我发现了。应该将风格放在另一个动作中并挂钩

标签: php wordpress session woocommerce session-variables


【解决方案1】:

CSS 输出需要在另一个函数/头部挂钩中单独完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多