Yoast\WP\SEO\AI\Content_Planner\User_Interface

Banner_Permanent_Dismissal_Route::set_banner_permanent_dismissalpublicYoast 1.0

Permanently dismisses the AI Content Planner banner for the current user.

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

Хуков нет.

Возвращает

WP_REST_Response. The success or failure response.

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

$Banner_Permanent_Dismissal_Route = new Banner_Permanent_Dismissal_Route();
$Banner_Permanent_Dismissal_Route->set_banner_permanent_dismissal( $request );
$request(WP_REST_Request) (обязательный)
The request object.

Код Banner_Permanent_Dismissal_Route::set_banner_permanent_dismissal() Yoast 28.3

public function set_banner_permanent_dismissal( WP_REST_Request $request ) {
	$is_dismissed = $request->get_param( 'is_dismissed' );
	$user_id      = $this->user_helper->get_current_user_id();
	$result       = $this->user_helper->update_meta( $user_id, self::USER_META_KEY, $is_dismissed );

	// update_meta returns false both on failure and when the stored value is already identical.
	// Check the existing value to distinguish the two cases and keep the endpoint idempotent.
	if ( $result === false ) {
		$existing = $this->user_helper->get_meta( $user_id, self::USER_META_KEY, true );
		$result   = ( (bool) $existing === (bool) $is_dismissed );
	}

	return new WP_REST_Response(
		[
			'success' => (bool) $result,
		],
		( $result !== false ) ? 200 : 400,
	);
}