1

こんにちは、いくつかのカスタム作成された役割を削除しようとしています。

$wp_roles = new WP_Roles();
$wp_roles->remove_role("your_role");

一部の役割は正常に削除されました。しかし、最初にいくつかの他の役割を削除すると、それらは正常に削除されたようです。しかし、次の更新後、それらは再作成されています。

存在しない場合、これは役割を再作成するものではないと確信しています。add_role を介してこれらのロールを作成したため、これらのロールは完全に独立しており、それらを作成する内部コードはありません。

ありがとう

「User Role Editor」プラグインで試しても機能しませんでした

4

2 に答える 2

2

phpmyadmin にアクセスできる場合は、データベースを直接編集してみてください。

wp_user_roleswp_optionsテーブルにあります。

各ユーザーの役割/機能は wp_usermeta のwp_capabilitiesレコードにあります

そこでは、最低限の mysql の知識があれば、任意のロールを追加/編集/削除できます。

于 2012-04-26T06:41:39.403 に答える
1

これで試してください

//check if role exist before removing it
if( get_role('subscriber') ){
      remove_role( 'subscriber' );
}

//check if role exist before removing it
if( get_role('contributor') ){
      remove_role( 'contributor' );
}

//check if role exist before removing it
if( get_role('editor') ){
      remove_role( 'editor' );
}

//check if role exist before removing it
if( get_role('author') ){
      remove_role( 'author' );
}
于 2016-12-23T16:06:05.337 に答える