update_blog_details( int $blog_id, array $details = array() )
Update the details for a blog. Updates the blogs table for a given blog id.
Parameters
- $blog_id
-
(Required) Blog ID
- $details
-
(Optional) Array of details keyed by blogs table field names.
Default value: array()
Return
(bool) True if update succeeds, false otherwise.
Source
File: wp-includes/ms-blogs.php
function update_blog_details( $blog_id, $details = array() ) {
global $wpdb;
if ( empty($details) )
return false;
if ( is_object($details) )
$details = get_object_vars($details);
$current_details = get_site( $blog_id );
if ( empty($current_details) )
return false;
$current_details = get_object_vars($current_details);
$details = array_merge($current_details, $details);
$details['last_updated'] = current_time('mysql', true);
$update_details = array();
$fields = array( 'site_id', 'domain', 'path', 'registered', 'last_updated', 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id');
foreach ( array_intersect( array_keys( $details ), $fields ) as $field ) {
if ( 'path' === $field ) {
$details[ $field ] = trailingslashit( '/' . trim( $details[ $field ], '/' ) );
}
$update_details[ $field ] = $details[ $field ];
}
$result = $wpdb->update( $wpdb->blogs, $update_details, array('blog_id' => $blog_id) );
if ( false === $result )
return false;
// If spam status changed, issue actions.
if ( $details['spam'] != $current_details['spam'] ) {
if ( $details['spam'] == 1 ) {
/**
* Fires when the 'spam' status is added to a blog.
*
* @since WP-MU (3.0.0)
*
* @param int $blog_id Blog ID.
*/
do_action( 'make_spam_blog', $blog_id );
} else {
/**
* Fires when the 'spam' status is removed from a blog.
*
* @since WP-MU (3.0.0)
*
* @param int $blog_id Blog ID.
*/
do_action( 'make_ham_blog', $blog_id );
}
}
// If mature status changed, issue actions.
if ( $details['mature'] != $current_details['mature'] ) {
if ( $details['mature'] == 1 ) {
/**
* Fires when the 'mature' status is added to a blog.
*
* @since WP-3.1.0
*
* @param int $blog_id Blog ID.
*/
do_action( 'mature_blog', $blog_id );
} else {
/**
* Fires when the 'mature' status is removed from a blog.
*
* @since WP-3.1.0
*
* @param int $blog_id Blog ID.
*/
do_action( 'unmature_blog', $blog_id );
}
}
// If archived status changed, issue actions.
if ( $details['archived'] != $current_details['archived'] ) {
if ( $details['archived'] == 1 ) {
/**
* Fires when the 'archived' status is added to a blog.
*
* @since WP-MU (3.0.0)
*
* @param int $blog_id Blog ID.
*/
do_action( 'archive_blog', $blog_id );
} else {
/**
* Fires when the 'archived' status is removed from a blog.
*
* @since WP-MU (3.0.0)
*
* @param int $blog_id Blog ID.
*/
do_action( 'unarchive_blog', $blog_id );
}
}
// If deleted status changed, issue actions.
if ( $details['deleted'] != $current_details['deleted'] ) {
if ( $details['deleted'] == 1 ) {
/**
* Fires when the 'deleted' status is added to a blog.
*
* @since WP-3.5.0
*
* @param int $blog_id Blog ID.
*/
do_action( 'make_delete_blog', $blog_id );
} else {
/**
* Fires when the 'deleted' status is removed from a blog.
*
* @since WP-3.5.0
*
* @param int $blog_id Blog ID.
*/
do_action( 'make_undelete_blog', $blog_id );
}
}
if ( isset( $details['public'] ) ) {
switch_to_blog( $blog_id );
update_option( 'blog_public', $details['public'] );
restore_current_blog();
}
clean_blog_cache( $blog_id );
return true;
}
Changelog
Version | Description |
---|---|
WP-MU | Introduced. (3.0.0) |