让商店经理访问外观wordpress

时间:2016-06-10 15:31:55

标签: wordpress woocommerce


我想允许“商店经理”访问外观以编辑菜单,我该怎么做呢,我的意思是我应该将哪些代码添加到 function.php

先谢谢你了!

3 个答案:

答案 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 );