Yoast\WP\SEO\Bulk_Editor\Application\Updates
Score_Updater::apply
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() 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 );
}