【问题标题】:Testing remove_cap, remove_menu_page : still working even if I comment or remove the code测试 remove_cap, remove_menu_page :即使我评论或删除代码仍然有效
【发布时间】:2018-09-02 16:36:18
【问题描述】:

我在 wordpress 上工作。 我已经测试了“remove_cap”函数来看看它做了什么。

function modif_cap_client() {
$role=get_role('editor');
$role->remove_cap('edit_pages');    
}

然后,我测试了“remove_menu_page”功能,以便管理中的用户无法访问“page”项。我是在前台主题的functions.php中做的(可能写错了)

function remove_menu_items() {
    remove_menu_page('index.php');
    remove_menu_page('separator1'); 
    remove_menu_page('upload.php');
}
add_action('admin_menu', 'remove_menu_items');

成功了。然后我评论了这段代码,将它从functions.php文件中删除,但没有什么可做的:页面项目不再显示。当我想点击页面链接(来自管理主页)时,它提到“你没有添加内容的权限”,尽管我在管理员配置文件下。

我不知道如何解决这个问题。也许这些函数改变了数据库中的某些东西,但是什么?

感谢您的帮助。

【问题讨论】:

    标签: wordpress menu admin customization


    【解决方案1】:

    添加或删除用户角色的能力后,它将一直有效,直到再次显式撤销(因此即使您评论或删除也不会被撤销)。再次尝试撤销(添加)该功能,这将解决您的问题。

    function modify_cap_client() {
        $role = get_role('editor');
        $role->add_cap('edit_pages');    
    }
    add_action( 'admin_init', 'modify_cap_client');
    

    您可以在首次运行后评论或删除。希望这会有所帮助。

    【讨论】:

    • 非常感谢,问题解决了。如果我做对了,remove_cap 方法会更改数据库中的数据。成功了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多