BP_XProfile_User_Admin::register_metaboxes( int $user_id, string $screen_id = '', object|null $stats_metabox = null )
Register the xProfile metabox on Community Profile admin page.
Description
Parameters
- $user_id
-
(Required) ID of the user being edited.
- $screen_id
-
(Optional) Screen ID to load the metabox in.
Default value: ''
- $stats_metabox
-
(Optional) Context and priority for the stats metabox.
Default value: null
Source
File: bp-xprofile/classes/class-bp-xprofile-user-admin.php
public function register_metaboxes( $user_id = 0, $screen_id = '', $stats_metabox = null ) {
// Set the screen ID if none was passed.
if ( empty( $screen_id ) ) {
$screen_id = buddypress()->members->admin->user_page;
}
// Setup a new metabox class if none was passed.
if ( empty( $stats_metabox ) ) {
$stats_metabox = new StdClass();
}
// Moving the Stats Metabox.
$stats_metabox->context = 'side';
$stats_metabox->priority = 'low';
// Each Group of fields will have his own metabox.
$profile_args = array(
'fetch_fields' => false,
'user_id' => $user_id,
);
if ( ! bp_is_user_spammer( $user_id ) && bp_has_profile( $profile_args ) ) {
// Loop through field groups and add a metabox for each one.
while ( bp_profile_groups() ) : bp_the_profile_group();
add_meta_box(
'bp_xprofile_user_admin_fields_' . sanitize_key( bp_get_the_profile_group_slug() ),
esc_html( bp_get_the_profile_group_name() ),
array( $this, 'user_admin_profile_metaboxes' ),
$screen_id,
'normal',
'core',
array( 'profile_group_id' => bp_get_the_profile_group_id() )
);
endwhile;
} else {
// If member is already a spammer, show a generic metabox.
add_meta_box(
'bp_xprofile_user_admin_empty_profile',
__( 'User marked as a spammer', 'buddyboss' ),
array( $this, 'user_admin_spammer_metabox' ),
$screen_id,
'normal',
'core'
);
}
if ( buddypress()->avatar->show_avatars ) {
// Avatar Metabox.
add_meta_box(
'bp_xprofile_user_admin_avatar',
__( 'Profile Photo', 'buddyboss' ),
array( $this, 'user_admin_avatar_metabox' ),
$screen_id,
'side',
'low'
);
}
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 2.0.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.