web-dev-qa-db-ja.com

GET変数を使用してクッキーを設定する

クーポンリンクを選択した後に顧客が移動しても、顧客が私たちのサイトでクーポンコードを取得できるように、GET変数に基づいてCookieを設定する必要があります。

ここではコードを使用しています。 Cookieに基づいてクーポンフィールドに値を入力するための重力ヘルプ 。コードのちょうど後半です。

クーポンコードをクッキーに設定する必要があります。ここに部分があります: URLからの変数を使用してクッキーを設定する しかし私はそれが私には変数がない場合空のクッキーも設定すると思いますユーザーがサイトを閲覧した場合、コードが上書きされると思います。変数が設定されている場合にのみ関数が実行されるようにするための最善の方法は何でしょうか。

3
JpaytonWPD

リンクのコードを使って、変数が設定されているかどうかを確認してください。

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 );
    }
}
3
David Lee

はい、クッキーを設定する前にissetチェックをラップする必要があります。

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