だから私はこれでいくつかの問題を抱えています、そして私は理由がわかりません。バックエンドでブログにアクセスできるカスタムロールが必要です。
機能タイプがの新しい投稿タイプと、blog
管理者アクセスユーザーがカスタム投稿タイプを追加/編集できるようにするすべての大文字の新しいユーザーロールを追加しました。これは管理者にとっては機能し、バックエンドで投稿タイプにアクセスできます。ただし、私のカスタムロールのユーザーは、まったくバックエンドに入ることができません。
ノートの投稿タイプ引数
"capability_type" => 'blog',
"map_meta_cap" => true,
役割を登録
function add_blog_manager_role(){
add_role(
'blog_manager',
'Blog Manager',
array(
'read' => true,
'edit_posts' => false,
'delete_posts' => false,
'publish_posts' => false,
'upload_files' => true
)
);
}
add_action( 'admin_init', 'add_blog_manager_role', 4 );
キャップを追加
function add_blog_role_caps() {
$roles = array('blog_manager', 'editor','administrator');
foreach($roles as $the_role) {
$role = get_role($the_role);
$role->add_cap( 'read' );
$role->add_cap( 'read_blog');
$role->add_cap( 'read_private_blog' );
$role->add_cap( 'edit_blog' );
$role->add_cap( 'edit_others_blog' );
$role->add_cap( 'edit_published_blog' );
$role->add_cap( 'publish_blog' );
$role->add_cap( 'delete_others_blog' );
$role->add_cap( 'delete_private_blog' );
$role->add_cap( 'delete_published_blog' );
}
}
add_action('admin_init', 'add_blog_role_caps', 5 );
私はこの原因を突き止めようと必死にグーゲル化してきました。私は複数形、複数形以外の大文字で試して、投稿タイプの引数に機能を追加してみました。しかし、私はバックエンドに入ることができません。テーマに、ユーザーを管理者から追い出す可能性のある他のコードがありません(これをテストしているときにユーザーを追い出す自分のコードを削除しました)
編集 ここでは、データベースからblog_manager機能のダンプを見ることができます。そこにはかなりのテストBSが残っていますが、私が知っていることからログインできないわけではありません。
'blog_manager' => array (
'name' => 'Blog Manager',
'capabilities' => array (
'read' => true,
'edit_posts' => false,
'delete_posts' => false,
'publish_posts' => false,
'upload_files' => true,
'read_blog' => true,
'read_private_blog' => true,
'edit_blog' => true,
'edit_others_blog' => true,
'edit_published_blog' => true,
'publish_blog' => true,
'delete_others_blog' => true,
'delete_private_blog' => true,
'delete_published_blog' => true,
'blog' => true,
'read_private_blogs' => true,
'edit_blogs' => true,
'edit_others_blogs' => true,
'edit_published_blogs' => true,
'publish_blogs' => true,
'delete_others_blogs' => true,
'delete_private_blogs' => true,
'delete_published_blogs' => true,
'delete_blogs' => true,
'delete_blog' => true,
),
)