WC_Cart_Session::dedupe_cookies()
Remove duplicate cookies from the response.
Метод класса: WC_Cart_Session{}
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
// private - только в коде основоного (родительского) класса $result = $this->dedupe_cookies();
Код WC_Cart_Session::dedupe_cookies() WC Cart Session::dedupe cookies WC 9.8.2
private function dedupe_cookies() { $all_cookies = array_filter( headers_list(), function( $header ) { return stripos( $header, 'Set-Cookie:' ) !== false; } ); $final_cookies = array(); $update_cookies = false; foreach ( $all_cookies as $cookie ) { list(, $cookie_value) = explode( ':', $cookie, 2 ); list($cookie_name, $cookie_value) = explode( '=', trim( $cookie_value ), 2 ); if ( stripos( $cookie_name, 'woocommerce_' ) !== false ) { $key = $this->find_cookie_by_name( $cookie_name, $final_cookies ); if ( false !== $key ) { $update_cookies = true; unset( $final_cookies[ $key ] ); } } $final_cookies[] = $cookie; } if ( $update_cookies ) { header_remove( 'Set-Cookie' ); foreach ( $final_cookies as $cookie ) { // Using header here preserves previous cookie args. header( $cookie, false ); } } }