简体   繁体   English

根据用户角色更改 Woocommerce 我的帐户选项卡名称

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

相关问题 在WooCommerce的“我的帐户”仪表板上显示用户角色名称 - Display User Role Name on My Account Dashboard in WooCommerce 根据WooCommerce中的用户角色更改数量步骤 - Change quantity steps depending on the user role of the in WooCommerce 根据WooCommerce中购买的产品更改用户角色 - Change user role depending on purchased products in WooCommerce 仅针对特定用户角色在 Woocommerce 中自定义我的帐户端点 - Custom my account endpoint in Woocommerce just for a specific user role WooCommerce:仅针对特定用户角色显示我的帐户链接 - WooCommerce: Display My Account link only for specific user role Woocommerce 在购买时更改用户角色 - Woocommerce change user role on purchase 在 WooCommerce 中的我的帐户 > 下载部分更改列名 - Change column name in My account > downloads section in WooCommerce 在 WooCommerce 我的帐户页面上,根据特定用户角色显示我的地址部分 - On WooCommerce My account page, display My Addresses section based on specific user role 在 WooCommerce 中添加基于用户角色的自定义我的帐户菜单项 3+ - Add custom my account menu item based on user role in WooCommerce 3+ 根据用户角色显示自定义主题“my-account.php”woocommerce 页面 - Display a custom themed "my-account.php" woocommerce page based on user role
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM