J'ai défini des champs de profil supplémentaires dans buddypress (sous les champs de profil des utilisateurs) et je veux m'assurer qu'ils sont en lecture seule, à l'exception des administrateurs de site.
Comment puis-je accomplir ceci?
Je vous remercie.
Vous pouvez masquer les champs de profil sur l'écran d'édition à tout le monde, à l'exception des administrateurs de site. Ils ne peuvent donc être modifiés que par les administrateurs de site. Ils seront toujours visibles sur l'écran du profil public. Vous pouvez obtenir l'identifiant du champ en consultant l'url de wp-admin lorsque vous éditez ce champ, ou simplement en survolant le bouton Éditer. Ajoutez cette fonction à votre fichier functions.php ou 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' );
Ajoutez cet extrait à votre fichier functions.php ou 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' );