对功能的更新.php未显示在仪表板中

时间:2017-04-26 作者:JCM

不久前,我在自定义主题的函数中添加了以下几行。php文件,以便允许我的网站上的作者编辑所有用户的帖子和草稿:

function add_theme_caps() {
$role = get_role( \'author\' );
$role->add_cap( \'edit_others_posts\' );
}
add_action( \'admin_init\', \'add_theme_caps\');
它按预期工作。但是,我现在不再需要该功能。我已经从我的函数中删除了这些行。php文件,但作者仍然可以编辑网站上的所有帖子。自从我更新了主题根文件夹中的函数文件以来,已经有几个小时了,我已经进行了一次又一次的硬加载,清空了浏览器缓存,但仍然没有任何变化。

你有什么想法吗?是否这些代码行改变了其他Wordpress中心文件?还是仅仅删除代码就遗漏了什么?

2 个回复
SO网友:JCM

看来我已经解决了自己的问题。我猜这样的函数会创建永久性的更改,而不管该函数是否保留在函数中。php文件。所以,为了解决这个问题,我刚刚添加了一个新函数,与此相反。以下是该函数:

function remove_theme_caps() {
$role = get_role( \'author\' );
$role->remove_cap( \'edit_others_posts\' );
}
add_action( \'admin_init\', \'remove_theme_caps\');
这恢复了不允许作者编辑其他用户帖子的默认设置。在上传了带有此代码的函数文件后,我删除了这段代码并重新上传了我的函数文件,更改(返回到默认设置)仍然存在。所以,问题解决了!

SO网友:Jess_Pinkman

add\\u cap将写入数据库,这不是您每次都要运行的操作。在非常具体的情况下,您应该将其挂钩。(最常见的是register\\u activation\\u hook)

相关推荐

如何从wp-admin/edit.php重定向到特定定制帖子类型的前端页面?

我正在基于Wordpress构建一个非常小的web应用程序。为此,我为用户可以在应用程序中管理的项目创建了自定义帖子类型。我已经创建了一个非常漂亮、优化的概览页面作为前端页面。然而,为了节省开发时间,编辑每个项目仍然在后端进行。后端中的某些操作(即删除项目)会将用户带到后端中的项目概述页面(/wp-admin/edit.php?post_type=my_item_post_type) 而不是我漂亮的前端页面。我想防止这种情况发生,这样当用户/wp-admin/edit.php?post_type=my_i