簡體   English   中英

根據用戶角色更改 Woocommerce 我的帳戶選項卡名稱

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM