bp_member_type_import_submenu_page()
Import profile types.
Description
Source
File: bp-core/admin/bp-core-admin-functions.php
function bp_member_type_import_submenu_page() { ?> <div class="wrap"> <h2 class="nav-tab-wrapper"><?php bp_core_admin_tabs( __( 'Tools', 'buddyboss' ) ); ?></h2> <div class="nav-settings-subsubsub"> <ul class="subsubsub"> <?php bp_core_tools_settings_admin_tabs(); ?> </ul> </div> </div> <div class="wrap"> <div class="bp-admin-card section-bp-member-type-import"> <div class="boss-import-area"> <form id="bp-member-type-import-form" method="post" action=""> <div class="import-panel-content"> <h2><?php _e( 'Import Profile Types', 'buddyboss' ); ?></h2> <p><?php printf( __( 'Import your existing <a href="%s">profile types</a> (or "member types" in BuddyPress). You may have created these types <strong>manually via code</strong> or by using a <strong>third party plugin</strong>. Click "Run Migration" below and all registered member types will be imported. Then you can remove the old code or plugin.', 'buddyboss' ), add_query_arg([ 'post_type' => bp_get_member_type_post_type(), ], admin_url( 'edit.php' ) ) ); ?></p><br /> <input type="submit" value="<?php _e('Run Migration', 'buddyboss'); ?>" id="bp-member-type-import-submit" name="bp-member-type-import-submit" class="button-primary"> </div> </form> </div> </div> </div> <br /> <?php if (isset($_POST['bp-member-type-import-submit'])) { $registered_member_types = bp_get_member_types(); $created_member_types = bp_get_active_member_types(); $active_member_types = array(); foreach ( $created_member_types as $created_member_type ) { $name = bp_get_member_type_key( $created_member_type ); array_push($active_member_types, $name); } $registered_member_types = array_diff($registered_member_types, $active_member_types); if (empty($registered_member_types)) { ?> <div class="wrap"> <div class="error notice " id="message"><p><?php _e('Nothing to import', 'buddyboss'); ?></p></div> </div> <?php } foreach ( $registered_member_types as $key => $import_types_data ) { $sing_name = ucfirst($import_types_data); // Create post object $my_post = array( 'post_type' => bp_get_member_type_post_type(), 'post_title' => $sing_name, 'post_status' => 'publish', 'post_author' => get_current_user_id(), ); // Insert the post into the database $post_id = wp_insert_post($my_post); if ( $post_id ) { $key = get_post_field( 'post_name', $post_id ); $term = term_exists( sanitize_key( $key ), bp_get_member_type_tax_name() ); if ( 0 !== $term && null !== $term ) { $digits = 3; $unique = rand(pow(10, $digits-1), pow(10, $digits)-1); $key = $key.$unique; } update_post_meta( $post_id, '_bp_member_type_key', sanitize_key( $key ) ); update_post_meta( $post_id, '_bp_member_type_label_name', $sing_name ); update_post_meta( $post_id, '_bp_member_type_label_singular_name', $sing_name ); ?><div class="updated notice " id="message"><p><?php _e('Successfully Imported', 'buddyboss'); ?></p></div><?php } } } }
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.