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
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. |