WPSEO_Upgrade::upgrade_70
Perform the 7.0 upgrade, moves settings around, deletes several options.
Метод класса: WPSEO_Upgrade{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
// private - только в коде основоного (родительского) класса $result = $this->upgrade_70();
Код WPSEO_Upgrade::upgrade_70() WPSEO Upgrade::upgrade 70 Yoast 28.0
private function upgrade_70() {
$wpseo_permalinks = $this->get_option_from_database( 'wpseo_permalinks' );
$wpseo_xml = $this->get_option_from_database( 'wpseo_xml' );
$wpseo_rss = $this->get_option_from_database( 'wpseo_rss' );
$wpseo = $this->get_option_from_database( 'wpseo' );
$wpseo_internallinks = $this->get_option_from_database( 'wpseo_internallinks' );
// Move some permalink settings, then delete the option.
$this->save_option_setting( $wpseo_permalinks, 'redirectattachment', 'disable-attachment' );
$this->save_option_setting( $wpseo_permalinks, 'stripcategorybase' );
// Move one XML sitemap setting, then delete the option.
$this->save_option_setting( $wpseo_xml, 'enablexmlsitemap', 'enable_xml_sitemap' );
// Move the RSS settings to the search appearance settings, then delete the RSS option.
$this->save_option_setting( $wpseo_rss, 'rssbefore' );
$this->save_option_setting( $wpseo_rss, 'rssafter' );
$this->save_option_setting( $wpseo, 'company_logo' );
$this->save_option_setting( $wpseo, 'company_name' );
$this->save_option_setting( $wpseo, 'company_or_person' );
$this->save_option_setting( $wpseo, 'person_name' );
// Remove the website name and altername name as we no longer need them.
$this->cleanup_option_data( 'wpseo' );
// All the breadcrumbs settings have moved to the search appearance settings.
foreach ( array_keys( $wpseo_internallinks ) as $key ) {
$this->save_option_setting( $wpseo_internallinks, $key );
}
// Convert hidden metabox options to display metabox options.
$title_options = get_option( 'wpseo_titles' );
foreach ( $title_options as $key => $value ) {
if ( strpos( $key, 'hideeditbox-tax-' ) === 0 ) {
$taxonomy = substr( $key, strlen( 'hideeditbox-tax-' ) );
WPSEO_Options::set( 'display-metabox-tax-' . $taxonomy, ! $value );
continue;
}
if ( strpos( $key, 'hideeditbox-' ) === 0 ) {
$post_type = substr( $key, strlen( 'hideeditbox-' ) );
WPSEO_Options::set( 'display-metabox-pt-' . $post_type, ! $value );
continue;
}
}
// Cleanup removed options.
delete_option( 'wpseo_xml' );
delete_option( 'wpseo_permalinks' );
delete_option( 'wpseo_rss' );
delete_option( 'wpseo_internallinks' );
// Remove possibly present plugin conflict notice for plugin that was removed from the list of conflicting plugins.
$yoast_plugin_conflict = WPSEO_Plugin_Conflict::get_instance();
$yoast_plugin_conflict->clear_error( 'header-footer/plugin.php' );
// Moves the user meta for excluding from the XML sitemap to a noindex.
global $wpdb;
// phpcs:disable WordPress.DB.DirectDatabaseQuery.NoCaching -- Reason: No relevant caches.
// phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery -- Reason: Most performant way.
$wpdb->query( "UPDATE $wpdb->usermeta SET meta_key = 'wpseo_noindex_author' WHERE meta_key = 'wpseo_excludeauthorsitemap'" );
}