我想允许“商店经理”访问外观以编辑菜单,我该怎么做呢,我的意思是我应该将哪些代码添加到 function.php
先谢谢你了!
答案 0 :(得分:2)
这应该添加"编辑主题选项"其中包括管理菜单到角色"店铺经理"
function add_theme_caps() {
$role = get_role( 'shop_manager' );
$role->add_cap( 'edit_theme_options' );
}
add_action( 'admin_init', 'add_theme_caps');
答案 1 :(得分:0)
我在这里找到了解决方案
https://wordpress.stackexchange.com/questions/4191/allow-editors-to-edit-menus
您还可以在外观下显示某个菜单。
希望这有帮助。
$role_object = get_role( 'editor' );
$role_object->add_cap( 'edit_theme_options' );
您可以在刷新管理面板后注释掉整个代码,因为上面的代码会对数据库进行持久更改。
您现在可以在编辑器看到外观下的所有选项。您可以隐藏其他选项,如下所示:
function hide_menu() {
remove_submenu_page( 'themes.php', 'themes.php' ); // hide the theme selection submenu
remove_submenu_page( 'themes.php', 'widgets.php' ); // hide the widgets submenu
// these are theme-specific. Can have other names or simply not exist in your current theme.
remove_submenu_page( 'themes.php', 'yiw_panel' );
remove_submenu_page( 'themes.php', 'custom-header' );
remove_submenu_page( 'themes.php', 'custom-background' );
}
add_action('admin_head','hide_menu'); hide_menu()函数中的最后3行是特定于我主题的主题。您可以在管理面板中单击要隐藏的子菜单,找到第二个参数。您的网址将类似于:example.com/wp-admin/themes.php?page=yiw_panel
所以,在这个例子中,remove_submenu_page()函数的第二个参数是yiw_panel
答案 2 :(得分:0)
要为所有Shop Manager用户角色(Wordpress 5.1.1)在顶级菜单“产品”下隐藏Woocommerce子菜单:
function remove_menus_shopmgr(){
// If the current user is a shop manager
if ( current_user_can('shop_manager') ) {
//removes Products > Categories submenu
remove_submenu_page( 'edit.php?post_type=product','edit-tags.php?taxonomy=product_cat&post_type=product' );
//removes Products > Tags submenu
remove_submenu_page( 'edit.php?post_type=product','edit-tags.php?taxonomy=product_tag&post_type=product' );
}
}
add_action( 'admin_menu', 'remove_menus_shopmgr', 999 );