web-dev-qa-db-ja.com

ユーザー機能を追加してそれを確認する

私はただ次のことを実感しました。

// Call the current user info
global $current_user;

// Add a capability
// and set the 2nd argument ($grant) to false
$current_user->add_cap( 'some_cap', false ); 

今、私はユーザーに機能を追加することに成功しましたが、彼女/彼にこの機能へのアクセスを拒否しました。

$current_user->has_cap( 'some_cap' );で確認したら、trueが返されます。これはhas_cap関数の引数のラッパーにすぎないので、current_user_can( 'some_cap' );にも同じことが言えます。

Q:2番目の引数はどこで使われますか?私は何か問題がありますか?

2
kaiser

私はあなたがそれを正しく使っていると思います。これは実際にはWordPressのバグだと思います。

ロール$somerole->add_cap( 'some_cap', false );についても同じことをすると、期待通りに動作します。

3
sorich87