要让角色在编辑主题中运行代码,需要什么功能?

时间:2020-01-22 作者:Rodney

我正在外包一些工作,他们正在使用主题编辑器将PHP添加到我的网站。

例如,这段代码https://docs.mylistingtheme.com/article/after-importing-listings-they-are-not-shown-in-explore-page/ 是我在主题中加入的内容-要调用它,需要使用querystringhttp://Yoursite.com/?geolocate_listings=1

当以管理员角色登录时,这可以正常工作,但是我创建了一个名为“TempCode”的自定义角色,该角色具有EditTheme功能,允许用户编辑主题功能。php文件。

但是,当他们尝试使用http://Yoursite.com/?geolocate_listings=1 当以非管理员身份登录时,它只会重定向到主页。

因此,有一些权限处理程序检查他们是否有权执行添加的PHP代码-我需要向角色添加什么功能来允许他们运行它?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

WordPress无法根据添加者阻止代码运行。这不是问题所在。问题要简单得多:他们添加的代码是专门为管理员以外的任何人编写的:

 if ( empty( $_GET[\'geolocate_listings\'] ) || ! current_user_can( \'administrator\' ) ) {
    return;
}
你可以改变\'administrator\' 您想要控制谁可以触发此代码的任何功能。

相关推荐

正在尝试获取wp-includes/capabilities.php中非对象的属性

在调试中,我每分钟都会收到以下通知序列。日志:[23-Oct-2012 13:27:33 UTC] PHP Notice: Trying to get property of non-object in mysite/wp-includes/capabilities.php on line 1022 [23-Oct-2012 13:27:33 UTC] PHP Notice: Trying to get property of non-object in mysite/wp-includes/