1
사용자 정의 게시 유형이 있으며 구독자 롤이 자신의 게시물을 편집하고 삭제할 수있게하려고합니다. 나는 다음 코드가 있습니다와구독자 역할이 자신의 사용자 정의 게시 유형을 편집하고 삭제하도록 허용하는 방법
function agents_create_post_type() {
$labels = array(
'name' => __('Agents', 'ee'),
'singular_name' => __('Agent', 'ee'),
'add_new' => __('Add New', 'ee'),
'add_new_item' => __('Add New Agent', 'ee'),
'edit_item' => __('Edit Agent', 'ee'),
'new_item' => __('New Agent', 'ee'),
'all_items' => __('All Agents', 'ee'),
'view_item' => __('View Agent', 'ee'),
'search_items' => __('Search Agent', 'ee'),
'not_found' => __('No agents found', 'ee'),
'not_found_in_trash' => __('No agents found in Trash', 'ee'),
'parent_item_colon' => '',
'menu_name' => __('Agents', 'ee'),
);
$capabilities = array(
'publish_posts' => 'publish_agents',
'edit_posts' => 'edit_agents',
'edit_others_posts' => 'edit_others_agents',
'delete_posts' => 'delete_agents',
'delete_others_posts' => 'delete_others_agents',
'read_private_posts' => 'read_private_agents',
'edit_post' => 'edit_agent',
'delete_post' => 'delete_agent',
'read_post' => 'read_agent'
);
register_post_type('agent',
array(
'labels' => $labels,
'rewrite' => array(
'slug' => __('agents', 'ee')
),
'hierarchical' => true,
'supports' => array('title', 'editor', 'thumbnail', 'page-attributes'),
'public' => true,
'has_archive' => true,
'menu_position' => 32,
'map_meta_cap'=>true,
'capabilities' => $capabilities,
'menu_icon' => get_template_directory_uri() .'/img/agents.png',
)
);
}
add_action('init', 'agents_create_post_type');
function add_capability() {
$admins = get_role('administrator');
$admins->add_cap('publish_agents');
$admins->add_cap('edit_agents');
$admins->add_cap('edit_others_agents');
$admins->add_cap('delete_agents');
$admins->add_cap('delete_others_agents');
$admins->add_cap('read_private_agents');
$admins->add_cap('edit_agent');
$admins->add_cap('delete_agent');
$admins->add_cap('read_agent');
$subscriber = get_role('subscriber');
$subscriber->add_cap('edit_agents');
$subscriber->add_cap('delete_agents');
}
add_action('admin_init', 'add_capability');
을 그 내가보기 에이전트를 추가 할 수있는 패널 컨트롤에서 가입자의 메뉴를 가지고,하지만 난 가입자에 대한 권한을 especified 경우에도, 해당 목록을 나열 할 때이 번 것 다 게시물이 게시되었습니다 관리자가 링크를 편집하려면, 각 게시물을 더 이상 나타나지 않는 삭제, 위의 권한으로 충분하다고 생각. 어떤 단서라도 매우 감사 할 것입니다! ... edit_published_agents 캡 을하고이 링크를 확인하십시오 :