WooCommerce-为不同的用户角色显示不同的条款和条件

时间:2019-06-24 作者:ThinkLoveDigital

我正在建立一个WooCommerce商店,它将有两种类型的客户/用户角色-标准零售客户/用户角色和批发客户/用户角色。

这里是我遇到的一个障碍-当批发客户登录时,我需要结帐页面上的条款和条件链接,才能转到其他T&;C的页面。

我在函数中尝试了几个不同的函数。php来替换链接文本,但它们不起作用。

有人有什么建议我可以试试吗??

谢谢

Bev公司

1 个回复
最合适的回答,由SO网友:ThinkLoveDigital 整理而成

批发角色是作为已安装插件的一部分创建的(WooCommerce批发Pro套件)。目前;使用标准WooCommerce功能显示C链接。

但我所做的是修改条款。php文件,在WooCommerce模板的checkout文件夹中(将其复制到我的主题文件夹),我发现了一个函数,可以检查用户是否具有特定角色,因此我只需执行一个简单的if语句来显示不同的T&;如果用户具有批发角色,则为C的链接。

这是我使用的代码:

// flag to indicate if the user is not assigned the wholesale user role
$wholesale_user_role = 0;
// get the roles of the currently logged in user
if ($user_id) $user = get_userdata($user_id);
else $user = wp_get_current_user();
    if (empty($user)) return false;
        // loop through each of the roles
        foreach ($user->roles as $role) {
            // check to see if the user has been assigned the wholesale user role
                if (in_array($role, array(\'ignite_level_5aedba974920a\'))) {
                // current logged in user is assigned the wholesale user role, so set the flag to 1 (true)
                    $wholesale_user_role = 1;
                }
            }
            // check to see if the currently logged in user has the wholesale user role 
            if(!$wholesale_user_role) {
                // isn\'t assigned the wholesale user role, so display the standard t&c\'s text and link
            ?>
                <span class="woocommerce-terms-and-conditions-checkbox-text"><?php wc_terms_and_conditions_checkbox_text(); ?></span>&nbsp;<span class="required">*</span>
            <?php
            } else { 
            // current user is assigned the wholesale role, so display wholesale T&C\'s ?>
                <span class="woocommerce-terms-and-conditions-checkbox-text">I have read and agree to the website <a href="https://www.example.com/wholesale/wholesale-terms-conditions/" class="woocommerce-terms-and-conditions-link" target="_blank">terms and conditions</a></span>&nbsp;<span class="required">*</span>
            <?php
            }
            ?>
不确定这是否是最好的方式,但对我来说是有效的。

相关推荐