11

wordpressでクッキーを設定しようとしています。私は自分のクッキーを次のように設定しています:

<?php setcookie('test', 'test', 0, '/', '/');  ?>

私のテーマのheader.phpにありますが、ブラウザにアクセスしてウェブサイトを表示すると、このエラーが発生します

Warning: Cannot modify header information - headers already sent by (output started at /home/content/19/9468119/html/wp-content/themes/twentyeleven/header.php:27) in /home/content/19/9468119/html/wp-content/themes/twentyeleven/header.php on line 201

また、私のクッキーは設定されません。wordpressでクッキーを設定するにはどうすればよいですか?

私もこれを試しました

 function set_new_cookie() {
    setcookie('test', 'test', 0, '/', '/');
}
add_action( 'init', 'set_new_cookie');
4

2 に答える 2

15

何かが出力される前にそれらを設定する必要があります

そこを見てください:WordpressでCookieを設定、取得、破棄するにはどうすればよいですか?

function.php でテーマを使用している場合

function set_new_cookie() {
    //setting your cookies there
}
add_action( 'init', 'set_new_cookie');

有効期限が 0 であるため、Cookie はすぐに削除されます。php doc を参照してください。

編集: php.net から:

0 に設定するか省略した場合、Cookie はセッションの終了時 (ブラウザーが閉じるとき) に期限切れになります。

http://php.net/manual/en/function.setcookie.php

たとえば、次のように設定する必要があります。

setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
于 2012-08-03T02:23:54.333 に答える