为Woocommerce中的特定用户角色自定义我的帐户新菜单项

时间:2018-12-03 17:27:34

标签: php wordpress woocommerce account user-roles

我为Woocommerce创建了一些自定义的“我的帐户”端点。我试图限制每个用户角色可见。对于以下代码,我希望它仅对具有admin角色的用户可见。我尝试将条件if (current_user_can('administrator'))插入代码中,但是没有找到一种不会破坏站点的方法。有什么建议可以修改以下内容吗?

/* Create Admin Tab on Woo Account Page
------------------------------------------------------------------*/

function add_admin_tools_endpoint() {
 add_rewrite_endpoint( 'admin-tools', EP_ROOT | EP_PAGES );
}

add_action( 'init', 'add_admin_tools_endpoint' );

function add_admin_tools_query_vars( $vars ) {
 $vars[] = 'admin-tools';
 return $vars;
}

add_filter( 'query_vars', 'add_admin_tools_query_vars', 0 );

function add_admin_tools_link_my_account( $items ) {
 $items['admnin-tools'] = 'Admin';
 return $items;
}

add_filter( 'woocommerce_account_menu_items', 'add_admin_tools_link_my_account' );

function add_admin_tools_content() {
 echo "<h3 style='text-align:center;'>Administration Tools</h3>&nbsp;<p style='text-align:center;'>Test of various functions.</p>";
}

add_action( 'woocommerce_account_admin-tools_endpoint', 'add_admin_tools_content' );

1 个答案:

答案 0 :(得分:1)

这是启用和显示自定义“我的帐户”菜单项的正确方法,该菜单项的内容仅适用于特定用户角色(此处为“管理员”用户角色)

true

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。

  

您将需要刷新重写规则::在Wordpress管理员的“设置”>“永久链接”下,只需单击“保存更改”按钮一次。大功告成