您好,我正在尝试为intranet站点上的员工合同定义自定义帖子类型功能,因此由于信息的敏感性,这需要有尽可能好的安全性,仅仅通过jQuery或css隐藏菜单链接是不够的。
下面是我目前如何定义帖子类型的:
function user_contract_post_type(){
register_post_type(
\'Contract\',
array(
\'labels\' => array(
\'name\' => __(\'Contracts\', \'intranet\'),
\'singular_name\' => __(\'Contract\', \'intranet\')
),
\'public\' => true,
\'publicly_queryable\' => true,
\'exclude_from_search\' => true,
\'show_ui\' => true,
\'menu_position\' => 71,
\'query_var\' => true,
\'has_archive\' => false,
\'rewrite\' => array(
\'slug\' => \'contracts\',
\'with_front\' => false,
\'feeds\' => false
),
\'hierarchical\' => false,
\'supports\' => array(
\'title\',
\'editor\',
\'page-attributes\'
),
\'capability_type\' => \'contract\',
\'capabilities\' => array(
\'edit_contract\',
\'read_contract\',
\'delete_contract\',
\'publish_contract\',
\'edit_contracts\',
\'delete_contracts\',
\'delete_published_contracts\',
\'edit_published_contracts\'
),
\'map_meta_cap\' => true,
\'can_export\' => true
)
);
}
add_action(\'init\', \'user_contract_post_type\');
这允许我编辑合同,因为我可以在管理主菜单和合同编辑屏幕中看到合同链接,而其他用户不能,但我不能做任何其他事情。我所能做的就是阅读并更新已经发布的合同,预览并提交新合同供审查。
任何帮助都是很乐意的。谢谢