bp_nouveau_customize_register( WP_Customize_Manager $wp_customize )
Add a specific panel for the BP Nouveau Template Pack.
Description
Parameters
- $wp_customize
-
(Required) WordPress customizer.
Source
File: bp-templates/bp-nouveau/includes/customizer.php
function bp_nouveau_customize_register( WP_Customize_Manager $wp_customize ) { if ( ! bp_is_root_blog() ) { return; } require_once( trailingslashit( bp_nouveau()->includes_dir ) . 'customizer-controls.php' ); $wp_customize->register_control_type( 'BP_Nouveau_Nav_Customize_Control' ); $bp_nouveau_options = bp_nouveau_get_appearance_settings(); //@todo is the BuddyBoss Platform really translatable? $wp_customize->add_panel( 'bp_nouveau_panel', array( 'description' => __( 'Customize the appearance of the BuddyBoss Platform.', 'buddyboss' ), 'title' => __( 'BuddyBoss Platform', 'buddyboss' ), 'priority' => 200, ) ); /** * Filters the BuddyPress Nouveau customizer sections and their arguments. * * @since BuddyPress 3.0.0 * * @param array $value Array of Customizer sections. */ $sections = apply_filters( 'bp_nouveau_customizer_sections', array( 'bp_nouveau_user_primary_nav' => array( 'title' => __( 'Profile Navigation', 'buddyboss' ), 'panel' => 'bp_nouveau_panel', 'priority' => 50, 'description' => __( 'Customize the navigation menu for member profiles. In the preview window, navigate to a user to preview your changes.', 'buddyboss' ), ), 'bp_nouveau_mail' => array( 'title' => __( 'BuddyBoss Emails', 'buddyboss' ), 'panel' => 'bp_nouveau_panel', 'priority' => 80, 'description' => __( 'Customize the appearance of emails sent by BuddyBoss.', 'buddyboss' ), ), ) ); // Add the sections to the customizer foreach ( $sections as $id_section => $section_args ) { $wp_customize->add_section( $id_section, $section_args ); } /** * Filters the BuddyPress Nouveau customizer settings and their arguments. * * @since BuddyPress 3.0.0 * * @param array $value Array of Customizer settings. */ $settings = apply_filters( 'bp_nouveau_customizer_settings', array( 'bp_nouveau_appearance[user_nav_display]' => array( 'index' => 'user_nav_display', 'capability' => 'bp_moderate', 'sanitize_callback' => 'absint', 'transport' => 'refresh', 'type' => 'option', ), 'bp_nouveau_appearance[user_default_tab]' => array( 'index' => 'user_default_tab', 'capability' => 'bp_moderate', 'transport' => 'refresh', 'type' => 'option', ), 'bp_nouveau_appearance[user_nav_order]' => array( 'index' => 'user_nav_order', 'capability' => 'bp_moderate', 'sanitize_callback' => 'bp_nouveau_sanitize_nav_order', 'transport' => 'refresh', 'type' => 'option', ), 'bp_nouveau_appearance[activity_dir_layout]' => array( 'index' => 'activity_dir_layout', 'capability' => 'bp_moderate', 'sanitize_callback' => 'absint', 'transport' => 'refresh', 'type' => 'option', ), 'bp_nouveau_appearance[activity_dir_tabs]' => array( 'index' => 'activity_dir_tabs', 'capability' => 'bp_moderate', 'sanitize_callback' => 'absint', 'transport' => 'refresh', 'type' => 'option', ), 'bp_nouveau_appearance[members_dir_layout]' => array( 'index' => 'members_dir_layout', 'capability' => 'bp_moderate', 'sanitize_callback' => 'absint', 'transport' => 'refresh', 'type' => 'option', ), 'bp_nouveau_appearance[members_dir_tabs]' => array( 'index' => 'members_dir_tabs', 'capability' => 'bp_moderate', 'sanitize_callback' => 'absint', 'transport' => 'refresh', 'type' => 'option', ), 'bp_nouveau_appearance[groups_dir_layout]' => array( 'index' => 'groups_dir_layout', 'capability' => 'bp_moderate', 'sanitize_callback' => 'absint', 'transport' => 'refresh', 'type' => 'option', ), 'bp_nouveau_appearance[sites_dir_layout]' => array( 'index' => 'sites_dir_layout', 'capability' => 'bp_moderate', 'sanitize_callback' => 'absint', 'transport' => 'refresh', 'type' => 'option', ), 'bp_nouveau_appearance[sites_dir_tabs]' => array( 'index' => 'sites_dir_tabs', 'capability' => 'bp_moderate', 'sanitize_callback' => 'absint', 'transport' => 'refresh', 'type' => 'option', ), 'bp_nouveau_appearance[bp_emails]' => array( 'index' => 'bp_emails', 'capability' => 'bp_moderate', 'sanitize_callback' => 'absint', 'transport' => 'refresh', 'type' => 'option', ), ) ); // Add the settings foreach ( $settings as $id_setting => $setting_args ) { $args = array(); if ( empty( $setting_args['index'] ) || ! isset( $bp_nouveau_options[ $setting_args['index'] ] ) ) { continue; } $args = array_merge( $setting_args, array( 'default' => $bp_nouveau_options[ $setting_args['index'] ] ) ); $wp_customize->add_setting( $id_setting, $args ); } // Default options for the users default tab. $options = array(); if ( bp_is_active( 'xprofile' ) ) { $options['profile'] = __( 'Profile', 'buddyboss' ); } if ( bp_is_active( 'activity' ) ) { $options['activity'] = __( 'Timeline', 'buddyboss' ); } if ( bp_is_active( 'friends' ) ) { $options['friends'] = __( 'Connections', 'buddyboss' ); } if ( bp_is_active( 'groups' ) ) { $options['groups'] = __( 'Groups', 'buddyboss' ); } if ( bp_is_active( 'forums' ) ) { $options['forums'] = __( 'Forums', 'buddyboss' ); } if ( bp_is_active( 'media' ) ) { $options['media'] = __( 'Photos', 'buddyboss' ); } $controls = array( 'user_nav_display' => array( 'label' => __( 'Display the profile navigation vertically.', 'buddyboss' ), 'section' => 'bp_nouveau_user_primary_nav', 'settings' => 'bp_nouveau_appearance[user_nav_display]', 'type' => 'checkbox', ), 'user_default_tab' => array( 'label' => __( 'Profile navigation order', 'buddyboss' ), 'description' => __( 'Set the default navigation tab when viewing a member profile. The dropdown only shows tabs that are available to all members.', 'buddyboss' ), 'section' => 'bp_nouveau_user_primary_nav', 'settings' => 'bp_nouveau_appearance[user_default_tab]', 'type' => 'select', 'choices' => apply_filters( 'user_default_tab_options_list', $options ), ), 'user_nav_order' => array( 'class' => 'BP_Nouveau_Nav_Customize_Control', 'label' => __( 'Reorder the primary navigation for a member.', 'buddyboss' ), 'section' => 'bp_nouveau_user_primary_nav', 'settings' => 'bp_nouveau_appearance[user_nav_order]', 'type' => 'user', ), 'mail_layout' => array( 'section' => 'bp_nouveau_mail', 'settings' => 'bp_nouveau_appearance[bp_emails]', ), ); /** * Filters the BuddyPress Nouveau customizer controls and their arguments. * * @since BuddyPress 3.0.0 * * @param array $value Array of Customizer controls. */ $controls = apply_filters( 'bp_nouveau_customizer_controls', $controls ); // Add the controls to the customizer's section foreach ( $controls as $id_control => $control_args ) { if ( empty( $control_args['class'] ) ) { $wp_customize->add_control( $id_control, $control_args ); } else { $wp_customize->add_control( new $control_args['class']( $wp_customize, $id_control, $control_args ) ); } } }
Changelog
Version | Description |
---|---|
BuddyPress 3.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.