WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!
функция не описана

WooCommerce\Admin

Experimental_Abtest::fetch_variation() protected WC 1.0

Fetch and cache the test variation for a provided A/B test from WP.com.

Ищем WP-разработчика! Фулл-тайм, удаленка, хорошая зарплата, соц. пакет. Подробности.
Компания Boosta.

ExPlat returns a null value when the assigned variation is control or an assignment has not been set. In these instances, this method returns a value of "control".

{} Это метод класса: Experimental_Abtest{}

Хуков нет.

Возвращает

Массив|\WP_Error. A/B test variation, or error on failure.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->fetch_variation( $test_name );
$test_name(строка) (обязательный)
Name of the A/B test.

Код Experimental_Abtest::fetch_variation() WC 5.9.0

protected function fetch_variation( $test_name ) {
	// Make sure test name exists.
	if ( ! $test_name ) {
		return new \WP_Error( 'test_name_not_provided', 'A/B test name has not been provided.' );
	}

	// Make sure test name is a valid one.
	if ( ! preg_match( '/^[A-Za-z0-9_]+$/', $test_name ) ) {
		return new \WP_Error( 'invalid_test_name', 'Invalid A/B test name.' );
	}

	// Return internal-cached test variations.
	if ( isset( $this->tests[ $test_name ] ) ) {
		return $this->tests[ $test_name ];
	}

	// Return external-cached test variations.
	if ( ! empty( get_transient( 'abtest_variation_' . $test_name ) ) ) {
		return get_transient( 'abtest_variation_' . $test_name );
	}

	// Make the request to the WP.com API.
	$response = $this->request_variation( $test_name );

	// Bail if there was an error or malformed response.
	if ( is_wp_error( $response ) || ! is_array( $response ) || ! isset( $response['body'] ) ) {
		return new \WP_Error( 'failed_to_fetch_data', 'Unable to fetch the requested data.' );
	}

	// Decode the results.
	$results = json_decode( $response['body'], true );

	// Bail if there were no results or there is no test variation returned.
	if ( ! is_array( $results ) || empty( $results['variations'] ) ) {
		return new \WP_Error( 'unexpected_data_format', 'Data was not returned in the expected format.' );
	}

	// Store the variation in our internal cache.
	$this->tests[ $test_name ] = $results['variations'][ $test_name ];

	$variation = $results['variations'][ $test_name ] ?? 'control';

	// Store the variation in our external cache.
	if ( ! empty( $results['ttl'] ) ) {
		set_transient( 'abtest_variation_' . $test_name, $variation, $results['ttl'] );
	}

	return $variation;
}