0

我使用“终极会员”,然后在个人资料页面上添加服装标签(带有“促销标签”名称)。我还安排了任何人都可以看到它。

但出于某种原因,我想从某些现有角色(登录用户和未登录用户)中隐藏这些选项卡,并且仅在未登录时显示合作伙伴角色。

(合作伙伴通过分享个人资料链接来提供他们的产品。例如:mysite.com/profile/mike)

我正在尝试使用代码片段插件制作代码并保存它。

这是代码:

add_filter( 'um_user_profile_tabs', 'um_hide_tabs', 6, 1 );
function um_hide_tabs( $tabs ){
//Hide Promotion Tabs from Agent, Subscriber, Customer when not logged in
if( in_array( um_user('role'), ["um_agent","subscriber","customer"] )  && is_page('profile')){
    unset( $tabs['promotion'] );
    return $tabs;
}

// Hide Promotion Tabs from Agent, Subscriber, Customer, Buyer, Partner when user logs in
$user_id = get_current_user_id();
um_fetch_user( $user_id );
if( in_array( um_user('role'), ["um_agent","subscriber","customer","partner" ] )){
    unset( $tabs['promotion'] );
    }   
return $tabs;   
}

该代码似乎有效。

在条件下:

  1. 未登录时的合作伙伴角色 > 显示“促销选项卡”

  2. 登录时的合作伙伴角色 > 隐藏“促销标签”

  3. 当用户条件已登录或未登录时,“促销选项卡”对合作伙伴以外的所有角色都隐藏。

这就像我想要的。

但是,我有许多不同条件的选项卡,也必须进行调整。

最后我复制了上面的代码并将其添加到一个新文件中,代码如下所示:

add_filter( 'um_user_profile_tabs', 'um_unit_promo_tabs', 6, 1 );
function um_unit_promo_tabs( $tabs ){
//Hide Unit Promo Tabs from Agents when not logged in
if( in_array( um_user('role'), ["um_agent"] )  && is_page('profile')){
    unset( $tabs['unit_promo'] );
    return $tabs;
}

$user_id = get_current_user_id();
um_fetch_user( $user_id );
if( in_array( um_user('role'), ["um_agent"] )){
    unset( $tabs['unit_promo'] );
    }   
return $tabs;   
}

add_filter( 'um_user_profile_tabs', 'um_unit_rekomendasi_tabs', 6, 1 );
function um_unit_recommendation_tabs( $tabs ){
//Hide unit_recommendation Tabs from Subscribers, Customers, Partner when not logged in
if( in_array( um_user('role'), ["partner","subscriber","customer" ] )  && is_page('profile')){
    unset( $tabs['unit_recommendation'] );
    return $tabs;
}

$user_id = get_current_user_id();
um_fetch_user( $user_id );
if( in_array( um_user('role'), ["subscriber","customer","partner" ] )){
    unset( $tabs['unit_recommendation'] );
    }   
return $tabs;   
}

添加 2 个新代码使选项卡消失。

任何人都可以帮助查看这个错误以及我应该如何微调代码以便我仍然得到我想要的?

任何帮助深表感谢,

谢谢你

4

0 回答 0