Set cookie using GET variable

时间:2017-02-19 作者:JpaytonWPD

我需要根据GET变量设置cookie,这样我的客户即使在选择优惠券链接后四处走动,也可以在我们的网站上获得优惠券代码。

我在这里使用代码:Gravity Help 根据cookie填充优惠券字段。只是代码的后半部分。

我需要在cookie中设置优惠券代码。这里有一段:Setting a Cookie using a variable from the URL 但我认为,如果没有变量,也会设置一个空cookie,我认为如果用户浏览站点,该变量会重写代码。确保函数仅在设置变量时运行的最佳方法是什么?

2 个回复
最合适的回答,由SO网友:David Lee 整理而成

只需使用链接中的代码检查变量是否已设置:

add_action( \'init\', \'set_agent_cookie\' );

function set_agent_cookie() {
    if (isset($_GET[\'code\'])) {
      $name = \'agent\';
      $id = $_GET[\'code\'];    
       setcookie( $name, $id, time() + 3600, "/", COOKIE_DOMAIN );
    }
}

SO网友:majick

是的,你只需要用isset 设置cookie前检查:

$name = \'cookiename\';
$expires = time() + 3600;
if (isset($_GET[\'code\'])) {
    $value = $_GET[\'code\'];
    setcookie($name, $value, $expires, \'/\', COOKIE_DOMAIN);
}

相关推荐

Setting cookies in Wordpress

我正在尝试在我的网站上设置cookie,并希望使用此cookie切换样式表。我测试了一个正常的函数,但它不起作用。我已经在我的functions.phpadd_action(\'init\', \'cookiecheck\'); function cookiecheck(){ setcookie( \'cookiename\', \'cookievalue\', time() + 3600, \'mysite.net/sites/site1/\', \'