BP_Admin_Setting_Activity::register_fields()
Description
Source
File: bp-core/admin/settings/bp-admin-setting-activity.php
public function register_fields() { $this->add_section( 'bp_activity', __( 'Activity Settings', 'buddyboss' ) ); // Blog Feeds Option (will sync with "blogs" component) // $this->add_checkbox_field( 'bp-enable-blog-feeds', __( 'Blog Posts', 'buddyboss' ), [ // 'input_text' => __( 'Automatically publish new blog posts into the activity feed', 'buddyboss' ) // ] ); // Allow subscriptions setting. $this->add_field( '_bp_enable_heartbeat_refresh', __( 'Activity auto-refresh', 'buddyboss' ), 'bp_admin_setting_callback_heartbeat', 'intval' ); // Allow autoload $this->add_field( '_bp_enable_activity_autoload', __( 'Activity auto-load', 'buddyboss' ), 'bp_admin_setting_callback_enable_activity_autoload', 'intval' ); // Allow follow. $this->add_field( '_bp_enable_activity_follow', __( 'Follow', 'buddyboss' ), 'bp_admin_setting_callback_enable_activity_follow', 'intval' ); // Allow like. $this->add_field( '_bp_enable_activity_like', __( 'Likes', 'buddyboss' ), 'bp_admin_setting_callback_enable_activity_like', 'intval' ); // Allow link preview. $this->add_field( '_bp_enable_activity_link_preview', __( 'Link Previews', 'buddyboss' ), 'bp_admin_setting_callback_enable_activity_link_preview', 'intval' ); // Allow subscriptions setting. if ( is_plugin_active( 'akismet/akismet.php' ) && defined( 'AKISMET_VERSION' ) ) { // $this->add_field( '_bp_enable_akismet', __( 'Akismet', 'buddyboss' ), 'bp_admin_setting_callback_activity_akismet', 'intval' ); } // Activity Settings Tutorial $this->add_field( 'bp-activity-settings-tutorial','', 'bp_activity_settings_tutorial' ); $this->add_section( 'bp_custom_post_type', __( 'Posts in Activity Feeds', 'buddyboss' ) ); // create field for default Platform activity feed. $get_default_platform_activity_types = bp_platform_default_activity_types(); $is_first = true; foreach ( $get_default_platform_activity_types as $type ) { $name = $type['activity_name']; $class = ( true === $is_first ) ? 'child-no-padding-first' : 'child-no-padding'; $type['class'] = $class; $this->add_field( "bp-feed-platform-$name", ( true === $is_first ) ? __( 'BuddyBoss Platform', 'buddyboss' ) : '', 'bp_feed_settings_callback_platform', 'intval', $type ); $is_first = false; } // Get all active custom post type. $post_types = get_post_types( [ 'public' => true ] ); // Exclude BP CPT $bp_exclude_cpt = [ 'forum', 'topic', 'reply', 'page', 'attachment', 'bp-group-type', 'bp-member-type' ]; $bp_excluded_cpt = array(); foreach ( $post_types as $post_type ) { // Exclude all the custom post type which is already in BuddyPress Activity support. if ( in_array( $post_type, $bp_exclude_cpt ) ) { continue; } $bp_excluded_cpt[] = $post_type; } // flag for adding conditional CSS class. $count = 0; $description = 0; foreach ( $bp_excluded_cpt as $key => $post_type ) { $fields = []; $fields['args'] = [ 'post_type' => $post_type, 'description' => false, ]; if ( 'post' === $post_type ) { // create field for each of custom post type. $this->add_field( "bp-feed-custom-post-type-$post_type", __( 'WordPress', 'buddyboss' ), 'bp_feed_settings_callback_post_type', 'intval', $fields['args'] ); // Activity commenting on post and comments. $this->add_field( 'bp-disable-blogforum-comments', __( 'Post Comments', 'buddyboss' ), 'bp_admin_setting_callback_blogforum_comments', 'bp_admin_sanitize_callback_blogforum_comments' ); } else { if ( 0 === $description ) { $fields['args']['description'] = true; $description =1; } if ( 0 === $count ) { $fields['args']['class'] = 'child-no-padding-first'; // create field for each of custom post type. $this->add_field( "bp-feed-custom-post-type-$post_type", __( 'Custom Post Types', 'buddyboss' ), 'bp_feed_settings_callback_post_type', 'intval', $fields['args'] ); } else { $fields['args']['class'] = 'child-no-padding'; // create field for each of custom post type. $this->add_field( "bp-feed-custom-post-type-$post_type", '', 'bp_feed_settings_callback_post_type', 'intval', $fields['args'] ); } $count++; } } // Posts in Activity Tutorial $this->add_field( 'bp-posts-in-activity-tutorial','', 'bp_posts_in_activity_tutorial' ); }
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.