我应该手动将‘Cap’添加到管理员角色吗?

时间:2015-06-16 作者:Victor Aurélio

我创建了一个角色:

$role = add_role( \'role\', \'role\', array(\'read\' => true) );
因此创建了一个cap:

$role->add_cap( \'cap\' );
在此之后,我在管理菜单中创建了一个子菜单,并将“cap”作为功能参数。所以问题是,具有“role”角色的用户可以看到子菜单,但站点管理员看不到子菜单,所以问题是:我必须将“cap”添加到管理员角色?这不是自动的吗?

1 个回复
最合适的回答,由SO网友:Frank P. Walentynowicz 整理而成

必须向角色或用户显式添加新功能。在您的情况下,如果您希望所有管理员都具有“cap”功能,则将其添加到“管理员”角色:

$role = get_role( \'administrator\' );
$role->add_cap( \'cap\' );
如果您只希望特定管理员具有“cap”功能,请将其添加到此特定用户:

$user = new WP_User( $user_id ); // $user_id = id of your administrator user
$user->add_cap( \'cap\' );

结束

相关推荐

About Wordpress capabilities

我知道WordPress是博客引擎的最佳选择,通过一些插件,如Advance Custom Field,WP可以成为一个很棒的CMS。但它仍然有利于出版商将内容推送给用户。现在我的处境相当严峻。我的朋友想使用WP作为一个引擎,用户可以贡献他们的帖子,其他人可以查看它。是否可以使用WP我可以创建自定义主题(&a);插件可以做到这一点,但当用户在插件上放置很多东西(页面和帖子)时,它对性能有好处吗?