我为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> <p style='text-align:center;'>Test of various functions.</p>";
}
add_action( 'woocommerce_account_admin-tools_endpoint', 'add_admin_tools_content' );
答案 0 :(得分:1)
这是启用和显示自定义“我的帐户”菜单项的正确方法,该菜单项的内容仅适用于特定用户角色(此处为“管理员”用户角色):
true
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。
您将需要刷新重写规则::在Wordpress管理员的“设置”>“永久链接”下,只需单击“保存更改”按钮一次。大功告成