我先解释一下我想做什么。我正在为客户构建一个内部网。他们不希望员工能够编辑他们的个人资料或上传头像,只是“管理员”应该能够做到这一点。要禁用此功能,我将display: none
默认情况下,“编辑配置文件”和“上载化身”按钮。然后,我希望这些内容显示给登录的管理员,以便他们可以编辑配置文件。我没有看到任何主体类添加到登录的管理员用户,所以我想我可以为登录的管理员用户添加一个显示隐藏div的CSS文件。我也在使用WP引擎,我不知道这是否受他们的缓存影响。
我如何才能做到这一点?
我先解释一下我想做什么。我正在为客户构建一个内部网。他们不希望员工能够编辑他们的个人资料或上传头像,只是“管理员”应该能够做到这一点。要禁用此功能,我将display: none
默认情况下,“编辑配置文件”和“上载化身”按钮。然后,我希望这些内容显示给登录的管理员,以便他们可以编辑配置文件。我没有看到任何主体类添加到登录的管理员用户,所以我想我可以为登录的管理员用户添加一个显示隐藏div的CSS文件。我也在使用WP引擎,我不知道这是否受他们的缓存影响。
我如何才能做到这一点?
有几种方法可以做到这一点:
带template overloads重载这些文件:
\\bp模板\\bp legacy\\buddypress\\members\\single\\profile\\edit。php
\\bp模板\\bp legacy\\buddypress\\members\\single\\profile\\change avatar
在重载的顶部,执行current_user_can()
选中,然后显示或不显示模板的其余部分。
根据current_user_can()
检查请参见中的过滤器bp_get_displayed_user_nav()
在“bp成员\\ bp成员模板”中。php’
正如我在评论中提到的,您当前使用CSS的方法不会阻止用户在管理区域访问其配置文件页面。
您需要使用创建一组自定义规则wordpress roles and capabilities.
add_action( \'admin_init\', \'redirect_non_admin_users\' );
/**
* Redirect non-admin users to home page
*
* This function is attached to the \'admin_init\' action hook.
*/
function redirect_non_admin_users() {
if ( ! current_user_can( \'manage_options\' ) && \'/wp-admin/admin-ajax.php\' != $_SERVER[\'PHP_SELF\'] ) {
wp_redirect( home_url() );
exit;
}
}
“如何检索所有xProfile字段?”