Woocommerce商店页面以编程方式作为主页


Woocommerce shop page as a main page programmatically

我正在开发eshop(wooccommerce),我需要将商店页面定义为主页,但只能使用一种语言。

例如,如果捷克人浏览myshop.com,我想将商店页面定义为主页。如果有人来自德国,他会看到一个正常的主页。

原因:

我不能只是重定向捷克客户,因为他们看不到主页后。

我不能保存会话或制作这样的东西,因为我希望他们始终将商店页面作为主页查看,而不仅仅是一次。

以下是想法:

  • 当用户来自捷克并进入主页时,在重定向到商店页面之前,cookie设置为30mn
  • 一旦进入商店页面,捷克用户就可以在cookie过期时间之前进入主页

代码:

在function.php文件中

// function for shortening language ID
function wplang() {
    $lang = get_bloginfo('language').'';
    $lang = explode("-", $lang);
    return $lang[0];
}

在header.php文件中(开头)。你必须设置正确的url…

<?php     
    // Only for Czech users
    if ( wplang() == 'cz' )
    {
        czcookie = $_COOKIE['wpczech'];
        // if a valid cookie isn't set to 'cz' value
        if ( czcookie != 'cz' )
        {
            // Set a cookie for 30 mn with 'cz' value
            setcookie('wpczech', 'cz', time()+1800, null, null , false , true);
            
            // redirecting to shop page
            header('Location: url_of_your_cz_shop_page');
        }
    }
?>

必须对代码进行调整和测试…