繁体   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