Automattic\WooCommerce\Internal\PushNotifications\DataStores

PushTokensDataStore::build_meta_array_from_databaseprivateWC 10.5.0

Returns an associative array of post meta as key => value pairs for the keys defined in SUPPORTED_META; missing keys return null.

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

Хуков нет.

Возвращает

Массив.

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

// private - только в коде основоного (родительского) класса
$result = $this->build_meta_array_from_database( $push_token );
$push_token(PushToken) (обязательный)
An instance of PushToken.

Список изменений

С версии 10.5.0 Введена.

Код PushTokensDataStore::build_meta_array_from_database() WC 10.5.2

private function build_meta_array_from_database( PushToken &$push_token ) {
	if ( ! $push_token->can_be_read() ) {
		throw new InvalidArgumentException(
			'Can\'t read meta for push token because the push token data provided is invalid.'
		);
	}

	$meta        = (array) get_post_meta( (int) $push_token->get_id() );
	$meta_by_key = (array) array_combine( static::SUPPORTED_META, static::SUPPORTED_META );

	foreach ( static::SUPPORTED_META as $key ) {
		if ( ! isset( $meta[ $key ] ) ) {
			$meta_by_key[ $key ] = null;
		} elseif ( is_array( $meta[ $key ] ) ) {
			$meta_by_key[ $key ] = $meta[ $key ][0];
		} else {
			$meta_by_key[ $key ] = $meta[ $key ];
		}
	}

	return $meta_by_key;
}