bp_add_activation_redirect()
Redirect user to BP’s What’s New page on first page load after activation.
Description
Source
File: bp-core/bp-core-update.php
function bp_add_activation_redirect() { // Bail if activating from network, or bulk. if ( isset( $_GET['activate-multi'] ) ) { return; } // Record that this is a new installation, so we show the right // welcome message. if ( bp_is_install() ) { set_transient( '_bp_is_new_install', true, 30 ); } // Check in Current DB having a below 2 options are saved for the BBPress Topic & Topic Reply previously. $topic_slug = get_option( '_bbp_topic_slug' ); $topic_tag_slug = get_option( '_bbp_topic_tag_slug' ); $topic_archive_slug = get_option( '_bbp_topic_archive_slug' ); if ( empty( $topic_slug ) ) { // Check if there is any topics their in DB. $topics = get_posts( array( 'post_type' => 'topic', 'numberposts' => 1 ) ); // If found the topics then go ahead. if ( !empty( $topics ) ) { // Topics found so set the _bbp_topic_slug to "topic" instead of "discussion" otherwise it will create the issue who used previously BBPress. update_option( '_bbp_topic_slug', 'topic'); // Set Flag to enable Forums default. update_option( 'bbp_set_forum_to_default', 'yes'); // Get current active component. $bp_active_components = get_option( 'bp-active-components', array() ); if ( ! in_array( 'forums', $bp_active_components) ) { // Add Forums to current components. $bp_active_components['forums'] = 1; // Set the forums to in DB. bp_update_option( 'bp-active-components', $bp_active_components ); } // If Forums page is not set. $option = bp_get_option( '_bbp_root_slug_custom_slug', '' ); if ( '' === $option ) { $default_title = bp_core_get_directory_page_default_titles(); $title = ( isset( $default_title['new_forums_page'] ) ) ? $default_title['new_forums_page'] : ''; $new_page = array( 'post_title' => $title, 'post_status' => 'publish', 'post_author' => bp_loggedin_user_id(), 'post_type' => 'page', 'comment_status' => 'closed', 'ping_status' => 'closed', ); // Create Forums Page. $page_id = wp_insert_post( $new_page ); bp_update_option( '_bbp_root_slug_custom_slug', $page_id ); $slug = get_post_field( 'post_name', $page_id ); // Set BBPress root Slug bp_update_option( '_bbp_root_slug', $slug ); } // Reset the permalink. bp_update_option( 'rewrite_rules', '' ); } if ( empty( $topic_archive_slug ) ) { update_option( '_bbp_topic_archive_slug', 'topics'); } if ( empty( $topic_tag_slug ) ) { // Tags found so set the _bbp_topic_tag_slug to "topic-reply" instead of "discussion-reply" otherwise it will create the issue who used previously BBPress. update_option( '_bbp_topic_tag_slug', 'topic-tag'); } } // Add the transient to redirect. set_transient( '_bp_activation_redirect', true, 30 ); }
Changelog
Version | Description |
---|---|
BuddyPress 1.7.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.