看看remove_cap
方法来自WP_User
类别-
/**
* Remove capability from user.
*
* @since 2.0.0
* @access public
*
* @param string $cap Capability name.
*/
public function remove_cap( $cap ) {
if ( ! isset( $this->caps[ $cap ] ) ) {
return;
}
unset( $this->caps[ $cap ] );
update_user_meta( $this->ID, $this->cap_key, $this->caps );
$this->get_role_caps();
$this->update_user_level_from_caps();
}
这里的文档中说,参数必须是字符串。但你通过了数组。因此,更新后的代码如下所示-
function the_dramatist_set_capabilities() {
$user = new WP_User( 9 );
$caps = array(\'edit_posts\', \'publish_posts\', \'read\');
foreach ($caps as $cap) {
$user->remove_cap( $cap );
}
}
add_action( \'init\', \'the_dramatist_set_capabilities\' );
希望以上代码可以解决您的问题。并且始终使用一个唯一的关键字作为函数的前缀,就像我在这里使用的前缀一样
the_dramatist_.