不久前,我在自定义主题的函数中添加了以下几行。php文件,以便允许我的网站上的作者编辑所有用户的帖子和草稿:
function add_theme_caps() {
$role = get_role( \'author\' );
$role->add_cap( \'edit_others_posts\' );
}
add_action( \'admin_init\', \'add_theme_caps\');
它按预期工作。但是,我现在不再需要该功能。我已经从我的函数中删除了这些行。php文件,但作者仍然可以编辑网站上的所有帖子。自从我更新了主题根文件夹中的函数文件以来,已经有几个小时了,我已经进行了一次又一次的硬加载,清空了浏览器缓存,但仍然没有任何变化。
你有什么想法吗?是否这些代码行改变了其他Wordpress中心文件?还是仅仅删除代码就遗漏了什么?
SO网友:JCM
看来我已经解决了自己的问题。我猜这样的函数会创建永久性的更改,而不管该函数是否保留在函数中。php文件。所以,为了解决这个问题,我刚刚添加了一个新函数,与此相反。以下是该函数:
function remove_theme_caps() {
$role = get_role( \'author\' );
$role->remove_cap( \'edit_others_posts\' );
}
add_action( \'admin_init\', \'remove_theme_caps\');
这恢复了不允许作者编辑其他用户帖子的默认设置。在上传了带有此代码的函数文件后,我删除了这段代码并重新上传了我的函数文件,更改(返回到默认设置)仍然存在。所以,问题解决了!