[英]Hide custom post type link in wordpress admin menu from Editors
我有一個名為“服務”的自定義帖子類型,我希望自定義帖子類型鏈接僅顯示給管理員而不是編輯。
我知道我可以使用“capability_type”,但是這對我不起作用,因為我不想完全從編輯器中禁用“服務”自定義帖子類型。 我仍然從自定義管理頁面鏈接到“服務”自定義帖子類型,所以我仍然希望編輯能夠訪問它。 我只是不希望在管理菜單中為編輯顯示自動創建的鏈接,但是自動創建的鏈接仍然必須向管理員顯示。
我想也許有一種方法可以在以下行周圍放置條件,但我不太了解 php,所以我不知道是否可以完成。
'show_in_menu' => true
您可以在下面找到我的自定義帖子類型的代碼。
register_post_type( 'services',
array(
'labels' => array(
'name' => __( 'Services' ),
'singular_name' => __( 'Service' )
),
'public' => true,
'has_archive' => false,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ),
'rewrite' => array('slug' => 'services'),
'show_in_menu' => true
)
);
通過添加功能來試試這個
register_post_type('services', array(
'labels' => array(
'name' => __('Services'),
'singular_name' => __('Service')
),
'public' => true,
'has_archive' => false,
'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'),
'rewrite' => array('slug' => 'services'),
'show_in_menu' => true,
'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'
),
)
);
使用這些:
function wpse28782_remove_menu_items() {
if( !current_user_can( 'administrator' ) ):
remove_menu_page( 'edit.php?post_type=quote' );
endif;
}
add_action( 'admin_menu', 'wpse28782_remove_menu_items' );
根據您的帖子類型名稱更改quote
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.