WPSEO_Upgrade::upgrade_70()privateYoast 1.0

Perform the 7.0 upgrade, moves settings around, deletes several options.

Метод класса: WPSEO_Upgrade{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

// private - только в коде основоного (родительского) класса
$result = $this->upgrade_70();

Код WPSEO_Upgrade::upgrade_70() Yoast 22.1

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;
	$wpdb->query( "UPDATE $wpdb->usermeta SET meta_key = 'wpseo_noindex_author' WHERE meta_key = 'wpseo_excludeauthorsitemap'" );
}