根据用户类型阻止第三方插件访问管理页面

时间:2019-12-16 作者:Vpp Man

我使用第三方插件(如ABC插件)。他们的代码没有任何挂钩或过滤器。而且他们不根据我们的要求提供定制。

因此,如果我修改插件代码,每次更新该插件时,我都必须复制更改。

因此,我决定创建一个插件,该插件将与其他插件一起工作,并进行必要的修改。

现在,我想限制对插件页面(在管理面板中)特定url的访问,仅限于特定用户类型。url如下所示https://mywebsite.com/wp-admin/admin.php?page=abcplugin&route_name=customers__index

我正在考虑使用admin_init 钩子检查当前请求的url是否在上面,只需执行以下操作if( $_GET[\'page\']==\'abcplugin\') && $_GET[\'route_name\']==\'customers__index\')

但我不知道如何显示You do not have permission to access this page 错误消息。是否有任何输入?

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

一切都结束了wp_die().

大致如下:

if ( $no_user_access ) { wp_die( \'You do not have permission to access this page\' ); }

请参见:https://developer.wordpress.org/reference/functions/wp_die/