bp_admin_setting_callback_page_directory_dropdown( $args )
Pages drop downs callback
Description
Parameters
- $args
-
(Required)
Source
File: bp-core/admin/bp-core-admin-pages.php
function bp_admin_setting_callback_page_directory_dropdown( $args ) {
extract( $args );
if ( ! bp_is_root_blog() ) {
switch_to_blog( bp_get_root_blog_id() );
}
// For the button
if ( 'button' === $name ) {
printf( '<p><a href="%s" class="button">%s</a> </p>', $args['label']['link'], $args['label']['label'] );
// For the forums will set the page selected from the custom option `_bbp_root_slug_custom_slug`
} elseif ( 'new_forums_page' === $name ) {
// Get the page id from the options.
$id = (int) bp_get_option( '_bbp_root_slug_custom_slug' );
// Check the status of current set value.
$status = get_post_status( $id );
// Set the page id if page exists and in publish otherwise set blank.
$id = ( '' !== $status && 'publish' === $status ) ? $id : '';
echo wp_dropdown_pages( array(
'name' => 'bp_pages[' . esc_attr( $name ) . ']',
'echo' => false,
'show_option_none' => __( '- Select a page -', 'buddyboss' ),
'selected' => ! empty( $id ) ? $id : false
) );
if ( ! empty( $id ) ) {
printf( '<a href="%s" class="button-secondary" target="_bp">%s</a>',
get_permalink( $id ),
__( 'View', 'buddyboss' ) );
} else {
printf( '<a href="%s" class="button-secondary create-background-page" data-name="%s" target="_bp">%s</a>',
'javascript:void(0);', esc_attr( $name ),
__( 'Create Page', 'buddyboss' ) );
}
if ( '' !== $description ) {
printf(
'<p class="description">%s</p>',
$description
);
}
// For the normal directory pages.
} else {
echo wp_dropdown_pages( array(
'name' => 'bp_pages[' . esc_attr( $name ) . ']',
'echo' => false,
'show_option_none' => __( '- Select a page -', 'buddyboss' ),
'selected' => ! empty( $existing_pages[ $name ] ) ? $existing_pages[ $name ] : false
) );
if ( ! empty( $existing_pages[ $name ] ) ) {
printf( '<a href="%s" class="button-secondary" target="_bp">%s</a>',
get_permalink( $existing_pages[ $name ] ),
__( 'View', 'buddyboss' ) );
} else {
printf( '<a href="%s" class="button-secondary create-background-page" data-name="%s" target="_bp">%s</a>',
'javascript:void(0);', esc_attr( $name ),
__( 'Create Page', 'buddyboss' ) );
}
if ( '' !== $description ) {
printf( '<p class="description">%s</p>', $description );
}
}
if ( ! bp_is_root_blog() ) {
restore_current_blog();
}
}
Changelog
| Version | Description |
|---|---|
| BuddyBoss 1.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.