本文整理汇总了PHP中Language_Pack_Upgrader::get_name_for_update方法的典型用法代码示例。如果您正苦于以下问题:PHP Language_Pack_Upgrader::get_name_for_update方法的具体用法?PHP Language_Pack_Upgrader::get_name_for_update怎么用?PHP Language_Pack_Upgrader::get_name_for_update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Language_Pack_Upgrader
的用法示例。
在下文中一共展示了Language_Pack_Upgrader::get_name_for_update方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: update
/**
* Update an item, if appropriate.
*
* @since 3.7.0
*
* @param string $type The type of update being checked: 'core', 'theme', 'plugin', 'translation'.
* @param object $item The update offer.
*/
public function update($type, $item)
{
$skin = new Automatic_Upgrader_Skin();
switch ($type) {
case 'core':
// The Core upgrader doesn't use the Upgrader's skin during the actual main part of the upgrade, instead, firing a filter.
add_filter('update_feedback', array($skin, 'feedback'));
$upgrader = new Core_Upgrader($skin);
$context = ABSPATH;
break;
case 'plugin':
$upgrader = new Plugin_Upgrader($skin);
$context = WP_PLUGIN_DIR;
// We don't support custom Plugin directories, or updates for WPMU_PLUGIN_DIR
break;
case 'theme':
$upgrader = new Theme_Upgrader($skin);
$context = get_theme_root($item->theme);
break;
case 'translation':
$upgrader = new Language_Pack_Upgrader($skin);
$context = WP_CONTENT_DIR;
// WP_LANG_DIR;
break;
}
// Determine whether we can and should perform this update.
if (!$this->should_update($type, $item, $context)) {
return false;
}
$upgrader_item = $item;
switch ($type) {
case 'core':
$skin->feedback(__('Updating to WordPress %s'), $item->version);
$item_name = sprintf(__('WordPress %s'), $item->version);
break;
case 'theme':
$upgrader_item = $item->theme;
$theme = wp_get_theme($upgrader_item);
$item_name = $theme->Get('Name');
$skin->feedback(__('Updating theme: %s'), $item_name);
break;
case 'plugin':
$upgrader_item = $item->plugin;
$plugin_data = get_plugin_data($context . '/' . $upgrader_item);
$item_name = $plugin_data['Name'];
$skin->feedback(__('Updating plugin: %s'), $item_name);
break;
case 'translation':
$language_item_name = $upgrader->get_name_for_update($item);
$item_name = sprintf(__('Translations for %s'), $language_item_name);
$skin->feedback(sprintf(__('Updating translations for %1$s (%2$s)…'), $language_item_name, $item->language));
break;
}
$allow_relaxed_file_ownership = false;
if ('core' == $type && isset($item->new_files) && !$item->new_files) {
$allow_relaxed_file_ownership = true;
}
// Boom, This sites about to get a whole new splash of paint!
$upgrade_result = $upgrader->upgrade($upgrader_item, array('clear_update_cache' => false, 'pre_check_md5' => false, 'attempt_rollback' => true, 'allow_relaxed_file_ownership' => $allow_relaxed_file_ownership));
// If the filesystem is unavailable, false is returned.
if (false === $upgrade_result) {
$upgrade_result = new WP_Error('fs_unavailable', __('Could not access filesystem.'));
}
// Core doesn't output this, so let's append it so we don't get confused.
if ('core' == $type) {
if (is_wp_error($upgrade_result)) {
$skin->error(__('Installation Failed'), $upgrade_result);
} else {
$skin->feedback(__('WordPress updated successfully'));
}
}
$this->update_results[$type][] = (object) array('item' => $item, 'result' => $upgrade_result, 'name' => $item_name, 'messages' => $skin->get_upgrade_messages());
return $upgrade_result;
}