2017-12-26 32 views
0

Iコード:wordpressのプラグインsetcookie()の正しい方法は何ですか?このような

public function register() { 
    add_action('init', array($this, 'cookie_init')); 
} 
private function cookie_init() { 
    if (!isset($_COOKIE['test_key'])) { 
     setcookie('test_key', 'test_value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN); 
    } 
} 

それは動作します。しかし、私は他の場所で値を更新したい。 setcookieがofcourseと呼ばれているときにエラーが発生しました(いくつかのヘッダーはすでに送信されています)。必要なときに新しいクッキーk-vを追加する方法です(初期ポイントではありません)

ありがとうございます!

答えて

0

あなたのコードをもっと複雑にする必要があります。 あなたはこのような関数を作成することができます。

function setMyCookie($key, $value) { 
    if (!isset($_COOKIE[$key])) { 
     setcookie($key, $value, time() + 3600, COOKIEPATH, COOKIE_DOMAIN); 
    } 
} 

この関数は、WordPressのクラスのエンジンである必要はありません。

それ以外の方法で静的メンバーとして作成して、どこでも呼び出すことができます。

PS:私はWordpressのエキスパートではありませんが、これはWordpressの問題ではなく、PHP開発スタイルの問題です。

+0

Wordpressの問題でもPHPの開発スタイルの問題でもないと思います。上記のコードは例です。 Wpには独自のスタイルがあり、開発者はカスタマイズしたクッキーを管理する必要がありますが、私はそれを持っていません。ありがとう。 – itevery

関連する問題