这是原始插件的问题。显然,他们从未真正测试过这个过滤器。他们使用了mc4wp_admin_required_capability
要控制管理页面是否可访问,但WordPress仍阻止您保存设置,除非同时使用此筛选器:
https://developer.wordpress.org/reference/hooks/option_page_capability_option_page
您应该联系插件作者并要求他们修复此问题,但在此期间,您可以自己实现此功能。假设
this 插件是否有问题,这应该可以:
add_filter(
\'option_page_capability_mc4wp_settings\',
function( $capability ) {
return \'edit_pages\';
}
);
您可能还需要这个来保存;“集成”;设置。
add_filter(
\'option_page_capability_ mc4wp_integrations_settings\',
function( $capability ) {
return \'edit_pages\';
}
);
插件,如;高级访问管理器“;通常不会有帮助,因为知道这些过滤器是否可行的唯一方法是读取插件代码,这就是为什么这样的插件非常无用的原因。他们所能看到的只是注册了哪些管理菜单,以及注册了哪些用户角色,因为它们是预先声明的。如果不检查每个插件的代码并手动实现解决方案,他们实际上无法控制插件如何使用角色和功能。
如果可以使用高级访问管理器(Advanced access Manager)等插件授予对插件设置的完全访问权限,则原始插件没有以非常安全的方式实现设置。