Yoast\WP\SEO\Bulk_Editor\Application\Updates

Score_Updater::applyprivateYoast 1.0

Applies a single score update.

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

Хуков нет.

Возвращает

Update_Result. The result of the update.

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

// private - только в коде основоного (родительского) класса
$result = $this->apply( $update ): Update_Result;
$update(Post_Score_Update) (обязательный)
The score update to apply.

Код Score_Updater::apply() Yoast 28.4

private function apply( Post_Score_Update $update ): Update_Result {
	$post_id = $update->get_post_id();

	if ( ! $this->post_access_checker->exists( $post_id ) ) {
		return Update_Result::for_failure( $post_id, Update_Error::NOT_FOUND );
	}

	if ( ! $this->post_access_checker->is_supported_type( $post_id ) ) {
		return Update_Result::for_failure( $post_id, Update_Error::INVALID_POST_TYPE );
	}

	if ( ! $this->post_access_checker->can_edit( $post_id ) ) {
		return Update_Result::for_failure( $post_id, Update_Error::FORBIDDEN );
	}

	try {
		if ( $update->has_seo_title_score() ) {
			$this->meta_writer->write_score( $post_id, self::SEO_TITLE_SCORE_KEY, $update->get_seo_title_score() );
		}

		if ( $update->has_meta_description_score() ) {
			$this->meta_writer->write_score( $post_id, self::META_DESCRIPTION_SCORE_KEY, $update->get_meta_description_score() );
		}
	} catch ( Exception $exception ) {
		$this->logger->warning(
			'Bulk score update failed to save post {post_id}: {error}',
			[
				'post_id' => $post_id,
				'error'   => $exception->getMessage(),
			],
		);

		return Update_Result::for_failure( $post_id, Update_Error::SAVE_FAILED );
	}

	return Update_Result::for_success( $post_id );
}