[英]Change Woocommerce My Account Tab name depending on User Role
I am building a ecommerce with Woocommerce, and I would like to change My Account Tabs name depending on User role (some user roles have access to several products and some just one product so I need to implement plural/singular variations for the tab name).我正在使用 Woocommerce 构建电子商务,并且我想根据用户角色更改我的帐户选项卡名称(一些用户角色可以访问多个产品,而一些只有一个产品,因此我需要为选项卡名称实现复数/单数变体) . Is there a function to achieve this?
有没有 function 来实现这个? I've found some snippets that create more or less similar actions but can't find out how to make it work "my way".
我发现了一些片段可以创建或多或少相似的动作,但不知道如何让它以“我的方式”工作。
Thanks for your help !谢谢你的帮助 !
You can achieve this using the woocommerce filter woocommerce_account_menu_items
and checking current user role.您可以使用 woocommerce 过滤器
woocommerce_account_menu_items
并检查当前用户角色来实现此目的。
add_filter( 'woocommerce_account_menu_items', 'rename_my_account_tabs', 9999 );
function rename_my_account_tabs( $items ) {
if( is_user_logged_in() ) {
$user = wp_get_current_user();
$roles = (array) $user->roles;
if(in_array('administrator',$roles)){
$items = array(
'dashboard' => __( 'Dashboard Admin', 'woocommerce' ),
'orders' => __( 'Orders Admin', 'woocommerce' ),
'downloads' => __( 'Downloads Admin', 'woocommerce' ),
'edit-address' => _n( 'Addresses Admin', 'Address', (int) wc_shipping_enabled(), 'woocommerce' ),
'payment-methods' => __( 'Payment methods Admin', 'woocommerce' ),
'edit-account' => __( 'Account details', 'woocommerce' ),
'customer-logout' => __( 'Logout', 'woocommerce' ),
);
}elseif(in_array('suscriber',$roles)){
$items = array(
'dashboard' => __( 'Dashboard Admin', 'woocommerce' ),
'orders' => __( 'Orders Admin', 'woocommerce' ),
'downloads' => __( 'Downloads Admin', 'woocommerce' ),
'edit-address' => _n( 'Addresses Admin', 'Address', (int) wc_shipping_enabled(), 'woocommerce' ),
'payment-methods' => __( 'Payment methods Admin', 'woocommerce' ),
'edit-account' => __( 'Account details', 'woocommerce' ),
'customer-logout' => __( 'Logout', 'woocommerce' ),
);
}
}
return $items;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.