Yoast\WP\SEO\Actions

Alert_Dismissal_Action::dismiss()publicYoast 1.0

Dismisses an alert.

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

Хуков нет.

Возвращает

true|false. Whether the dismiss was successful or not.

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

$Alert_Dismissal_Action = new Alert_Dismissal_Action();
$Alert_Dismissal_Action->dismiss( $alert_identifier );
$alert_identifier(строка) (обязательный)
Alert identifier.

Код Alert_Dismissal_Action::dismiss() Yoast 22.3

public function dismiss( $alert_identifier ) {
	$user_id = $this->user->get_current_user_id();
	if ( $user_id === 0 ) {
		return false;
	}

	if ( $this->is_allowed( $alert_identifier ) === false ) {
		return false;
	}

	$dismissed_alerts = $this->get_dismissed_alerts( $user_id );
	if ( $dismissed_alerts === false ) {
		return false;
	}

	if ( \array_key_exists( $alert_identifier, $dismissed_alerts ) === true ) {
		// The alert is already dismissed.
		return true;
	}

	// Add this alert to the dismissed alerts.
	$dismissed_alerts[ $alert_identifier ] = true;

	// Save.
	return $this->user->update_meta( $user_id, static::USER_META_KEY, $dismissed_alerts ) !== false;
}