WC_Session_Handler::save_data()
Save data and delete guest session.
Method of the class: WC_Session_Handler{}
No Hooks.
Return
null
. Ничего (null).
Usage
$WC_Session_Handler = new WC_Session_Handler(); $WC_Session_Handler->save_data( $old_session_key );
- $old_session_key(int)
- session ID before user logs in.
WC_Session_Handler::save_data() WC Session Handler::save data code WC 8.3.0
public function save_data( $old_session_key = 0 ) { // Dirty if something changed - prevents saving nothing new. if ( $this->_dirty && $this->has_session() ) { global $wpdb; $wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb->prefix}woocommerce_sessions (`session_key`, `session_value`, `session_expiry`) VALUES (%s, %s, %d) ON DUPLICATE KEY UPDATE `session_value` = VALUES(`session_value`), `session_expiry` = VALUES(`session_expiry`)", $this->_customer_id, maybe_serialize( $this->_data ), $this->_session_expiration ) ); wp_cache_set( $this->get_cache_prefix() . $this->_customer_id, $this->_data, WC_SESSION_CACHE_GROUP, $this->_session_expiration - time() ); $this->_dirty = false; if ( get_current_user_id() != $old_session_key && ! is_object( get_user_by( 'id', $old_session_key ) ) ) { $this->delete_session( $old_session_key ); } } }