如何将配置文件条目设为只读,站点管理员除外

时间:2015-08-26 作者:arcee123

我在buddypress(用户配置文件字段下)中设置了一些额外的配置文件字段,我想确保它们是只读的,站点管理员除外。

我如何做到这一点?

非常感谢。

2 个回复
最合适的回答,由SO网友:shanebp 整理而成

您可以对除站点管理员之外的所有人隐藏编辑屏幕上的配置文件字段,因此它们只能由站点管理员编辑。它们仍将显示在公共配置文件屏幕上。编辑字段时,您可以通过查看wp admin中的url来获取字段id,或者只需滚动编辑按钮即可。将此函数添加到子主题函数中。php或bp-custom.php

function arcee_hide_profile_fields( $retval ) {

    if( is_super_admin () )
        return $retval;

    if(  bp_is_profile_edit()  )
        $retval[\'exclude_fields\'] = \'3,43,253\'; //field ID\'s separated by comma

    return $retval;

}
add_filter( \'bp_after_has_profile_parse_args\', \'arcee_hide_profile_fields\' );

SO网友:jim.duck

将此代码段添加到子主题函数中。php或bp-custom.php

function bpfr_hide_profile_edit( $retval ) {    
// remove field from edit tab
if(  bp_is_profile_edit() ) {       
    $retval[\'exclude_fields\'] = \'2\'; // field ID\'s separated by comma
}   
// allow field on register page
if ( bp_is_register_page() ) {
    $retval[\'include_fields\'] = \'2\'; // field ID\'s separated by comma
    }       

// hide the field on profile view tab
if ( $data = bp_get_profile_field_data( \'field=2\' ) ) : 
    $retval[\'exclude_fields\'] = \'2\'; // field ID\'s separated by comma   
endif;  

return $retval; 
}
add_filter( \'bp_after_has_profile_parse_args\', \'bpfr_hide_profile_edit\' );