wc_setcookie()
Set a cookie - wrapper for setcookie using WP constants.
Hooks from the function
Return
null
. Nothing (null).
Usage
wc_setcookie( $name, $value, $expire, $secure, $httponly );
- $name(string) (required)
- Name of the cookie being set.
- $value(string) (required)
- Value of the cookie.
- $expire(int)
- Expiry of the cookie.
- $secure(true|false)
- Whether the cookie should be served only over https.
Default: false - $httponly(true|false)
- Whether the cookie is only accessible over HTTP, not scripting languages like JavaScript. @since 3.6.0.
Default: false
wc_setcookie() wc setcookie code WC 9.7.1
function wc_setcookie( $name, $value, $expire = 0, $secure = false, $httponly = false ) { /** * Controls whether the cookie should be set via wc_setcookie(). * * @since 6.3.0 * * @param bool $set_cookie_enabled If wc_setcookie() should set the cookie. * @param string $name Cookie name. * @param string $value Cookie value. * @param integer $expire When the cookie should expire. * @param bool $secure If the cookie should only be served over HTTPS. */ if ( ! apply_filters( 'woocommerce_set_cookie_enabled', true, $name, $value, $expire, $secure ) ) { return; } if ( ! headers_sent() ) { /** * Controls the options to be specified when setting the cookie. * * @see https://www.php.net/manual/en/function.setcookie.php * @since 6.7.0 * * @param array $cookie_options Cookie options. * @param string $name Cookie name. * @param string $value Cookie value. */ $options = apply_filters( 'woocommerce_set_cookie_options', array( 'expires' => $expire, 'secure' => $secure, 'path' => COOKIEPATH ? COOKIEPATH : '/', 'domain' => COOKIE_DOMAIN, /** * Controls whether the cookie should only be accessible via the HTTP protocol, or if it should also be * accessible to Javascript. * * @see https://www.php.net/manual/en/function.setcookie.php * @since 3.3.0 * * @param bool $httponly If the cookie should only be accessible via the HTTP protocol. * @param string $name Cookie name. * @param string $value Cookie value. * @param int $expire When the cookie should expire. * @param bool $secure If the cookie should only be served over HTTPS. */ 'httponly' => apply_filters( 'woocommerce_cookie_httponly', $httponly, $name, $value, $expire, $secure ), ), $name, $value ); setcookie( $name, $value, $options ); } elseif ( Constants::is_true( 'WP_DEBUG' ) ) { headers_sent( $file, $line ); trigger_error( "{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE ); // @codingStandardsIgnoreLine } }