WC_Session_Handler::get_session( string $customer_id, mixed $default = false )
Returns the session.
Description Description
Parameters Parameters
- $customer_id
-
(Required) Custo ID.
- $default
-
(Optional) Default session value.
Default value: false
Return Return
(string|array)
Source Source
File: includes/class-wc-session-handler.php
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 );
}