функция
since 5.1.0
wp_prepare_site_data()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
wp_prepare_site_data( array $data, array $defaults, WP_Site|null $old_site = null ): array|WP_Error
Описание
Подготавливает данные сайта для вставки или обновления в базе данных.
Параметры
$data
array
обязательный
Ассоциативный массив данных сайта, передаваемый в соответствующую функцию.
Возможный состав данных см. в wp_insert_site().
$defaults
array
обязательный
Значения данных сайта по умолчанию, с которыми сопоставляется $data.
$old_site
WP_Site|null
необязательный
= null
Прежний объект сайта при обновлении или null при вставке.
Возвращаемое значение
array|WP_Error
WP_Error
Исходный код
wp-includes/ms-site.php:464
function wp_prepare_site_data( $data, $defaults, $old_site = null ) {
// Maintain backward-compatibility with `$site_id` as network ID.
if ( isset( $data['site_id'] ) ) {
if ( ! empty( $data['site_id'] ) && empty( $data['network_id'] ) ) {
$data['network_id'] = $data['site_id'];
}
unset( $data['site_id'] );
}
/**
* Filters passed site data in order to normalize it.
*
* @since 5.1.0
*
* @param array $data Associative array of site data passed to the respective function.
* See wp_insert_site() for the possibly included data.
*/
$data = apply_filters( 'wp_normalize_site_data', $data );
$allowed_data_fields = array( 'domain', 'path', 'network_id', 'registered', 'last_updated', 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id' );
$data = array_intersect_key( wp_parse_args( $data, $defaults ), array_flip( $allowed_data_fields ) );
$errors = new WP_Error();
/**
* Fires when data should be validated for a site prior to inserting or updating in the database.
*
* Plugins should amend the `$errors` object via its `WP_Error::add()` method.
*
* @since 5.1.0
*
* @param WP_Error $errors Error object to add validation errors to.
* @param array $data Associative array of complete site data. See wp_insert_site()
* for the included data.
* @param WP_Site|null $old_site The old site object if the data belongs to a site being updated,
* or null if it is a new site being inserted.
*/
do_action( 'wp_validate_site_data', $errors, $data, $old_site );
if ( ! empty( $errors->errors ) ) {
return $errors;
}
// Prepare for database.
$data['site_id'] = $data['network_id'];
unset( $data['network_id'] );
return $data;
}
История изменений
| Версия | Описание |
|---|---|
| 5.1.0 | Introduced. |

