WPSEO_Upgrade::migrate_woocommerce_archive_setting_to_shop_page()privateYoast 1.0

Migrates WooCommerce archive settings to the WooCommerce Shop page meta-data settings.

If no Shop page is defined, nothing will be migrated.

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

Хуков нет.

Возвращает

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

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

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

Код WPSEO_Upgrade::migrate_woocommerce_archive_setting_to_shop_page() Yoast 22.1

private function migrate_woocommerce_archive_setting_to_shop_page() {
	$shop_page_id = wc_get_page_id( 'shop' );

	if ( $shop_page_id === -1 ) {
		return;
	}

	$title = WPSEO_Meta::get_value( 'title', $shop_page_id );

	if ( empty( $title ) ) {
		$option_title = WPSEO_Options::get( 'title-ptarchive-product' );

		WPSEO_Meta::set_value(
			'title',
			$option_title,
			$shop_page_id
		);

		WPSEO_Options::set( 'title-ptarchive-product', '' );
	}

	$meta_description = WPSEO_Meta::get_value( 'metadesc', $shop_page_id );

	if ( empty( $meta_description ) ) {
		$option_metadesc = WPSEO_Options::get( 'metadesc-ptarchive-product' );

		WPSEO_Meta::set_value(
			'metadesc',
			$option_metadesc,
			$shop_page_id
		);

		WPSEO_Options::set( 'metadesc-ptarchive-product', '' );
	}

	$bc_title = WPSEO_Meta::get_value( 'bctitle', $shop_page_id );

	if ( empty( $bc_title ) ) {
		$option_bctitle = WPSEO_Options::get( 'bctitle-ptarchive-product' );

		WPSEO_Meta::set_value(
			'bctitle',
			$option_bctitle,
			$shop_page_id
		);

		WPSEO_Options::set( 'bctitle-ptarchive-product', '' );
	}

	$noindex = WPSEO_Meta::get_value( 'meta-robots-noindex', $shop_page_id );

	if ( $noindex === '0' ) {
		$option_noindex = WPSEO_Options::get( 'noindex-ptarchive-product' );

		WPSEO_Meta::set_value(
			'meta-robots-noindex',
			$option_noindex,
			$shop_page_id
		);

		WPSEO_Options::set( 'noindex-ptarchive-product', false );
	}
}