WC_Session_Handler::get_session()publicWC 1.0

Returns the session.

Method of the class: WC_Session_Handler{}

No Hooks.

Return

String|Array.

Usage

$WC_Session_Handler = new WC_Session_Handler();
$WC_Session_Handler->get_session( $customer_id, $default );
$customer_id(string) (required)
Customer ID.
$default(mixed)
Default session value.
Default: false

WC_Session_Handler::get_session() code WC 9.3.3

public function get_session( $customer_id, $default = false ) {
	global $wpdb;

	if ( Constants::is_defined( 'WP_SETUP_CONFIG' ) ) {
		return false;
	}

	// Try to get it from the cache, it will return false if not present or if object cache not in use.
	$value = wp_cache_get( $this->get_cache_prefix() . $customer_id, WC_SESSION_CACHE_GROUP );

	if ( false === $value ) {
		$value = $wpdb->get_var( $wpdb->prepare( "SELECT session_value FROM $this->_table WHERE session_key = %s", $customer_id ) ); // @codingStandardsIgnoreLine.

		if ( is_null( $value ) ) {
			$value = $default;
		}

		$cache_duration = $this->_session_expiration - time();
		if ( 0 < $cache_duration ) {
			wp_cache_add( $this->get_cache_prefix() . $customer_id, $value, WC_SESSION_CACHE_GROUP, $cache_duration );
		}
	}

	return maybe_unserialize( $value );
}