BP_Admin_Setting_Activity::settings_save()
Description
Source
File: bp-core/admin/settings/bp-admin-setting-activity.php
public function settings_save() {
parent::settings_save();
$bp = buddypress();
$active_components = $bp->active_components;
// Flag for activate the blogs component
$is_blog_component_active = false;
// Get all active custom post type.
$post_types = get_post_types( [ 'public' => true ] );
foreach ( $post_types as $cpt ) {
// Exclude all the custom post type which is already in BuddyPress Activity support.
if ( in_array( $cpt,
[ 'forum', 'topic', 'reply', 'page', 'attachment', 'bp-group-type', 'bp-member-type' ] ) ) {
continue;
}
$enable_blog_feeds = isset( $_POST["bp-feed-custom-post-type-$cpt"] );
if ( $enable_blog_feeds ) {
$is_blog_component_active = true;
}
}
if ( $is_blog_component_active ) {
$active_components['blogs'] = '1';
} else {
unset( $active_components['blogs'] );
}
// Save settings and upgrade schema.
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
require_once( $bp->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' );
$bp->active_components = $active_components;
bp_core_install( $bp->active_components );
bp_core_add_page_mappings( $bp->active_components );
bp_update_option( 'bp-active-components', $bp->active_components );
}
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.