Jak mohu tento typ vlastního příspěvku odebrat, aby se nezobrazoval v řídicím panelu pro uživatele, kteří nejsou správci?
/* Add Websites Custom Post Type */
add_action( 'init', 'create_website_type' );
function create_website_type() {
register_post_type( 'website',
array(
'labels' => array(
'name' => __( 'Websites' ),
'singular_name' => __( 'Website' ),
'add_new' => __( 'Add New Website' ),
'add_new_item' => __( 'Add New Website' ),
'edit' => __( 'Edit Website' ),
'edit_item' => __( 'Edit Website' ),
'new_item' => __( 'Add New Website' ),
'view' => __( 'View Website' ),
'view_item' => __( 'View Website' ),
'search_items' => __( 'Search Websites' ),
'not_found' => __( 'No Websites Found' ),
'not_found_in_trash' => __( 'No Websites found in Trash' ),
),
'description' => __('Websites to be shown in Resources section.'),
'public' => true,
'show_ui' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'menu_position' => 20,
'supports' => array('title', 'editor'),
'can_export' => true
)
);
remove_post_type_support('website','editor');
}
register_post_type()
akceptuje parametr capabilities
ve svých argumentech. Možné hodnoty viz get_post_type_capabilities()
. Z komentářů:
Ve výchozím nastavení je sedm klíčů přijato jako součást pole schopností:
edit_post
,read_post
adelete_post
jsou meta schopnosti, které jsou pak obvykle mapovány na odpovídající primitivní funkce v závislosti na kontextu, který by byl post editován/čten/vymazán a uživatel nebo role by byla kontrolována. Tyto schopnosti by tedy obecně nebyly poskytnuty přímo uživatelům ani rolím.
edit_posts
- Určuje, zda lze objekty tohoto typu příspěvku upravovat.edit_others_posts
- Řídí, zda lze objekty tohoto typu vlastněné jinými uživateli upravovat. Pokud typ příspěvku nepodporuje autora, bude se chovat jakoedit_posts
.publish_posts
- Řídí objekty publikování tohoto typu příspěvku.read_private_posts
- Určuje, zda lze číst soukromé objekty.Tyto čtyři primitivní funkce jsou kontrolovány v jádru na různých místech. Existuje také sedm dalších primitivních schopností, na které se nevztahuje přímo v jádře, s výjimkou
map_meta_cap()
, které má tři výše uvedené meta schopnosti a převádí je do jedné nebo více primitivních schopností, které musí být v závislosti na kontextu zkontrolovány proti uživateli nebo roli. .
read
- Určuje, zda lze číst objekty tohoto typu příspěvku.delete_posts
- Určuje, zda lze objekty tohoto typu příspěvku odstranit.delete_private_posts
- Určuje, zda mohou být soukromé objekty odstraněny.delete_published_posts
- Určuje, zda mohou být publikované objekty odstraněny.delete_others_posts
- Řídí, zda lze objekty vlastněné jinými uživateli smazat. Pokud typ příspěvku nepodporuje autora, bude se chovat jakodelete_posts
.edit_private_posts
- Určuje, zda lze soukromé objekty upravovat.edit_published_posts
- Určuje, zda lze publikované objekty upravovat.Tyto další funkce se používají pouze v
map_meta_cap()
. Standardně jsou tedy přiřazeny pouze tehdy, když je typ příspěvku registrován s argumentem'map_meta_cap'
nastaveným natrue
(výchozí hodnota jefalse
).
V argumentech pro registraci přidejte:
'capabilities' => array(
'edit_post' => 'update_core',
'read_post' => 'update_core',
'delete_post' => 'update_core',
'edit_posts' => 'update_core',
'edit_others_posts' => 'update_core',
'delete_posts' => 'update_core',
'publish_posts' => 'update_core',
'read_private_posts' => 'update_core'
),