函数文档

update_blog_status()

💡 云策文档标注

概述

update_blog_status() 函数用于更新 WordPress 多站点网络中博客的特定字段值,如域名、路径或状态标志。它通过调用 wp_update_site() 实现更新,并验证字段名是否在允许列表中。

关键要点

  • 函数接受三个必需参数:$blog_id(博客ID)、$pref(字段名)和 $value(字段值),以及一个可选的 $deprecated 参数(已弃用)。
  • 仅允许更新预定义的字段名数组,包括 'site_id'、'domain'、'path'、'registered'、'last_updated'、'public'、'archived'、'mature'、'spam'、'deleted' 和 'lang_id'。
  • 如果 $pref 不在允许列表中,函数直接返回 $value;如果更新成功,返回 $value;如果 wp_update_site() 返回 WP_Error,则返回 false。
  • 函数内部处理 $deprecated 参数,使用 _deprecated_argument() 标记弃用,但自 WordPress 3.1.0 起不再使用。

代码示例

function update_blog_status( $blog_id, $pref, $value, $deprecated = null ) {
    global $wpdb;

    if ( null !== $deprecated ) {
        _deprecated_argument( __FUNCTION__, '3.1.0' );
    }

    $allowed_field_names = array( 'site_id', 'domain', 'path', 'registered', 'last_updated', 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id' );

    if ( ! in_array( $pref, $allowed_field_names, true ) ) {
        return $value;
    }

    $result = wp_update_site(
        $blog_id,
        array(
            $pref => $value,
        )
    );

    if ( is_wp_error( $result ) ) {
        return false;
    }

    return $value;
}

注意事项

  • 此函数专为 WordPress 多站点环境设计,用于更新博客详情字段,确保字段名在允许列表中以避免无效操作。
  • 自 WordPress 5.1.0 版本引入,$deprecated 参数已弃用,开发者应避免使用它。
  • 相关函数包括 wp_update_site()、_deprecated_argument() 和 is_wp_error(),用于数据库更新、弃用参数处理和错误检查。

📄 原文内容

Updates a blog details field.

Parameters

$blog_idintrequired
Blog ID.
$prefstringrequired
Field name.
$valuestringrequired
Field value.
$deprecatednulloptional
Not used.

Default:null

Return

string|false $value

Source

function update_blog_status( $blog_id, $pref, $value, $deprecated = null ) {
	global $wpdb;

	if ( null !== $deprecated ) {
		_deprecated_argument( __FUNCTION__, '3.1.0' );
	}

	$allowed_field_names = array( 'site_id', 'domain', 'path', 'registered', 'last_updated', 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id' );

	if ( ! in_array( $pref, $allowed_field_names, true ) ) {
		return $value;
	}

	$result = wp_update_site(
		$blog_id,
		array(
			$pref => $value,
		)
	);

	if ( is_wp_error( $result ) ) {
		return false;
	}

	return $value;
}

Changelog

Version Description
MU (3.0.0) MU (3.0.0)
5.1.0 Introduced.