wordpress - WordPress 向所有注册用户显示菜单的功能?
问题描述
我正在创建一个插件并在仪表板 WordPress 中添加菜单
add_submenu_page('documents', 'Add Document', 'Add Document', 'manage_options','add_document', 'my_plugin_options3');
我还想向作为订阅者的注册用户显示该菜单选项。但是当我为订阅者执行此操作时,菜单仅显示在订阅者仪表板中,而当我使用 manage_options 时,它仅针对管理员而不是订阅者显示。我想在两者上都展示它。
add_menu_page( 'My Plugin Options', 'docs Management', 'subscriber', 'documents', 'my_plugin_options','',4 );
我从这里尝试了角色参考摘要
解决方案
订阅者和管理员是角色,您应该尝试使用这些角色中的功能,就像您为添加的第一个子菜单页面所做的那样。订阅者具有“读取”能力,就像其他所有用户角色一样,所以我将从那里开始。
add_menu_page( 'My Plugin Options', 'docs Management', 'read', 'documents', 'my_plugin_options','',4 );
如果您只想为订阅者和管理员显示菜单,而没有其他角色,您可以创建自己的功能,然后将其分配给您的菜单,如下所示:
<?php
global $wp_roles;
$wp_roles->add_cap( 'administrator', 'view_custom_menu' );
$wp_roles->add_cap( 'subscriber', 'view_custom_menu' );
add_menu_page( 'My Plugin Options', 'docs Management', 'view_custom_menu', 'documents', 'my_plugin_options','',4 );
?>
推荐阅读
- javascript - 在 Angular 6 中创建秒表
- angular - 检查加载页面上的缺失元素
- spring-boot - 无法在 @PreAuthorize 中评估 SPeL 表达式
- python - 如何根据延迟时间加入熊猫中的两个表
- c - C中的算法-谁是获胜者
- revit-api - Revit API 中的高级图元过滤
- c# - Asp.Net WebForms Process_Request 方法需要很多时间
- java - 我的程序遇到了一个错误,我不知道如何修复
- reporting-services - SSRS - 带有千位和小数分隔符的自定义货币格式
- javascript - TypeError:无法读取未定义的属性“状态”