[英]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.