BP_Groups_Group::save()
Save the current group to the database.
Description
Return
(bool) True on success, false on failure.
Source
File: bp-groups/classes/class-bp-groups-group.php
public function save() { global $wpdb; $bp = buddypress(); $this->creator_id = apply_filters( 'groups_group_creator_id_before_save', $this->creator_id, $this->id ); $this->name = apply_filters( 'groups_group_name_before_save', $this->name, $this->id ); $this->slug = apply_filters( 'groups_group_slug_before_save', $this->slug, $this->id ); $this->description = apply_filters( 'groups_group_description_before_save', $this->description, $this->id ); $this->status = apply_filters( 'groups_group_status_before_save', $this->status, $this->id ); $this->parent_id = apply_filters( 'groups_group_parent_id_before_save', $this->parent_id, $this->id ); $this->enable_forum = apply_filters( 'groups_group_enable_forum_before_save', $this->enable_forum, $this->id ); $this->date_created = apply_filters( 'groups_group_date_created_before_save', $this->date_created, $this->id ); /** * Fires before the current group item gets saved. * * Please use this hook to filter the properties above. Each part will be passed in. * * @since BuddyPress 1.0.0 * * @param BP_Groups_Group $this Current instance of the group item being saved. Passed by reference. */ do_action_ref_array( 'groups_group_before_save', array( &$this ) ); // Groups need at least a name. if ( empty( $this->name ) ) { return false; } // Set slug with group title if not passed. if ( empty( $this->slug ) ) { $this->slug = sanitize_title( $this->name ); } // Sanity check. if ( empty( $this->slug ) ) { return false; } // Check for slug conflicts if creating new group. if ( empty( $this->id ) ) { $this->slug = groups_check_slug( $this->slug ); } if ( !empty( $this->id ) ) { $sql = $wpdb->prepare( "UPDATE {$bp->groups->table_name} SET creator_id = %d, name = %s, slug = %s, description = %s, status = %s, parent_id = %d, enable_forum = %d, date_created = %s WHERE id = %d ", $this->creator_id, $this->name, $this->slug, $this->description, $this->status, $this->parent_id, $this->enable_forum, $this->date_created, $this->id ); } else { $sql = $wpdb->prepare( "INSERT INTO {$bp->groups->table_name} ( creator_id, name, slug, description, status, parent_id, enable_forum, date_created ) VALUES ( %d, %s, %s, %s, %s, %d, %d, %s )", $this->creator_id, $this->name, $this->slug, $this->description, $this->status, $this->parent_id, $this->enable_forum, $this->date_created ); } if ( false === $wpdb->query($sql) ) return false; if ( empty( $this->id ) ) $this->id = $wpdb->insert_id; /** * Fires after the current group item has been saved. * * @since BuddyPress 1.0.0 * * @param BP_Groups_Group $this Current instance of the group item that was saved. Passed by reference. */ do_action_ref_array( 'groups_group_after_save', array( &$this ) ); wp_cache_delete( $this->id, 'bp_groups' ); return true; }
Changelog
Version | Description |
---|---|
BuddyPress 1.6.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.