我正在尝试过滤一个功能检查,以解决管理区域中缺少自定义用户编辑页面的过滤器的问题。但我似乎无法将过滤器添加到挂钩中,我确信我缺少一些基本的东西。
问题在于role_has_cap
, 位于第343行wp-includes/capabilities.php
. 内容如下:
$capabilities = apply_filters( \'role_has_cap\', $this->capabilities, $cap, $this->name );
我正在尝试通过将此添加到
functions.php
:
add_filter(\'role_has_cap\', \'my_role_has_cap_filter\', 10, 3);
function my_role_has_cap_filter($var_one, $var_two, $var_three) {
print_r($var_one);
print_r($var_two);
print_r($var_three);
}
但绝对什么都没发生。即使我添加的过滤器的参数少于函数所需的参数(据我所知,这会触发PHP错误),WordPress也会完全忽略我。
我真正想要实现的是将false返回到current_user_can( \'edit_posts\' )
或current_user_can( \'edit_pages\' )
查看时user-edit.php
在管理区,without actually removing those capabilities, 但在我看来,过滤器不适用的事实与我的最终目标更为相关。