Language_Pack_Upgrader::async_upgrade
Asynchronously upgrades language packs after other upgrades have been made.
Hooked to the upgrader_process_complete action by default.
Метод класса: Language_Pack_Upgrader{}
Хуки из метода
Возвращает
null. Ничего (null).
Использование
$result = Language_Pack_Upgrader::async_upgrade( $upgrader );
- $upgrader(false|WP_Upgrader)
- WP_Upgrader instance or false. If
$upgraderis a Language_Pack_Upgrader instance, the method will bail to avoid recursion. Otherwise unused.
По умолчанию:false
Список изменений
| С версии 3.7.0 | Введена. |
Код Language_Pack_Upgrader::async_upgrade() Language Pack Upgrader::async upgrade WP 6.9.4
public static function async_upgrade( $upgrader = false ) {
// Avoid recursion.
if ( $upgrader && $upgrader instanceof Language_Pack_Upgrader ) {
return;
}
// Nothing to do?
$language_updates = wp_get_translation_updates();
if ( ! $language_updates ) {
return;
}
/*
* Avoid messing with VCS installations, at least for now.
* Noted: this is not the ideal way to accomplish this.
*/
$check_vcs = new WP_Automatic_Updater();
if ( $check_vcs->is_vcs_checkout( WP_CONTENT_DIR ) ) {
return;
}
foreach ( $language_updates as $key => $language_update ) {
$update = ! empty( $language_update->autoupdate );
/**
* Filters whether to asynchronously update translation for core, a plugin, or a theme.
*
* @since 4.0.0
*
* @param bool $update Whether to update.
* @param object $language_update The update offer.
*/
$update = apply_filters( 'async_update_translation', $update, $language_update );
if ( ! $update ) {
unset( $language_updates[ $key ] );
}
}
if ( empty( $language_updates ) ) {
return;
}
// Re-use the automatic upgrader skin if the parent upgrader is using it.
if ( $upgrader && $upgrader->skin instanceof Automatic_Upgrader_Skin ) {
$skin = $upgrader->skin;
} else {
$skin = new Language_Pack_Upgrader_Skin(
array(
'skip_header_footer' => true,
)
);
}
$lp_upgrader = new Language_Pack_Upgrader( $skin );
$lp_upgrader->bulk_upgrade( $language_updates );
}