在功能强大的Web应用中,你想在不同的权限或者不同的用户中显示不同的Meta Box 或Meta Field。例如,一个订单系统中,可以让用户看到某些fields,或者某些fields,只有管理员才能看到。Piklist可以很容易做到这一点。
在本教程,我们可以很灵活的去控制谁要显示的数据。
1.首先,我们先在meta-boxes目录下建一个user-metabox.php
根据Capability 或 Role 显示MetaBox
我们的Post Type用page再注释属性里加入Capability参数
Capability: editor
上面注释参数就能让Metabox只在用户是editor上显示,我们把更改它为’administrator’,刷新page的编辑页这样管理员就能显示MetaBox。
如果想在用户是editor和administrator上显示metabox,我们可以用有edit_pages权限的显示,下面是完整注释属性代码:
<?php /* Title: My Pages Meta Box Post Type: page Capability: edit_pages */
根据Capability 或 Role 显示Meta Fields
我们只需要要在控件的属性加上’capability’=>’editor’如上述一样设置
完整的user-metabox.php代码
<?php /* Title: My Pages Meta Box Post Type: page Capability: edit_pages */ piklist('field', array( 'type' => 'text' ,'scope' => 'post_meta' ,'field' => 'demo_text' ,'label' => 'Text box' ,'description' => 'editor and administrator is show' ,'value' => 'Default text' ,'capability' => 'edit_pages' ,'position' => 'wrap' )); //下面Meta Fields只能在用户是editor才会显示 piklist('field', array( 'type' => 'text' ,'scope' => 'post_meta' ,'field' => 'editor_text' ,'label' => 'Text box' ,'description' => 'editor is show' ,'value' => 'Default text' ,'capability' => 'editor' ,'position' => 'wrap' ));
效果预览:
更多用户权限详情可以参数WordPress 手册
发表评论
要发表评论,您必须先登录。