[英]Change Woocommerce My Account Tab name depending on User Role
我正在使用 Woocommerce 构建电子商务,并且我想根据用户角色更改我的帐户选项卡名称(一些用户角色可以访问多个产品,而一些只有一个产品,因此我需要为选项卡名称实现复数/单数变体) . 有没有 function 来实现这个? 我发现了一些片段可以创建或多或少相似的动作,但不知道如何让它以“我的方式”工作。
谢谢你的帮助 !
您可以使用 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.