Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Wordpress中设置cookie_Php_Wordpress_Cookies - Fatal编程技术网

Php 如何在Wordpress中设置cookie

Php 如何在Wordpress中设置cookie,php,wordpress,cookies,Php,Wordpress,Cookies,我正试图在wordpress中设置cookie。我的曲奇设置如下: <?php setcookie('test', 'test', 0, '/', '/'); ?> 而且我的饼干也没有凝固。如何在wordpress中设置cookie 我也试过这个 function set_new_cookie() { setcookie('test', 'test', 0, '/', '/'); } add_action( 'init', 'set_new_cookie'); 您必须

我正试图在wordpress中设置cookie。我的曲奇设置如下:

<?php setcookie('test', 'test', 0, '/', '/');  ?>
而且我的饼干也没有凝固。如何在wordpress中设置cookie

我也试过这个

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

您必须在输出任何内容之前设置它们

看那里:

如果您在function.php中使用主题

function set_new_cookie() {
    //setting your cookies there
}
add_action( 'init', 'set_new_cookie');
您的过期日期为0,因此您的cookies将立即被删除查看php文档:

编辑: 从php.net:

如果设置为0或忽略,cookie将在测试结束时过期 会话(浏览器关闭时)

您必须这样设置,例如:

setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
  • 设置Cookie: 下面的示例将设置过期一小时(60*60秒)的cookie,因为它设置为COOKIEPATH,并且cookie\u域是WordPress根据您的站点路径和域定义的

    setcookie( 'my-cookie-name', 'my-cookie-value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN );
    
  • 获取饼干: 获取cookie可以通过使用包含关联数组的变量$\u cookie来完成

    $myCookie = isset( $_COOKIE['my-cookie-name'] ) ? $_COOKIE['my-cookie-name'] : 'Not Set!!';
    
  • 删除或取消设置Cookie:与上面的指令#1相同,只是Cookie的过期时间为负值

    setcookie( 'my-cookie-name', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN );
    

  • 上面的建议不起作用,我试着把function.php页面放进去,但它给了我关于syntaxit正确语法的php错误。这里有更多的例子:你有什么错误?我也试了你的代码Jerome,但它没有创建我的cookie…我需要在某处调用它吗?如何设置呢?您需要在function.php文件中设置它,该文件链接到您正在使用的主题。虽然这个答案可能对OP有所帮助,但它不是最佳答案。在WP中,您应该使用
    COOKIEPATH
    COOKIE\u域
    ,否则您将遇到COOKIE正常工作的问题(请参阅);在WordPress中,您应该使用
    COOKIEPATH
    COOKIE\u域
    ,否则您可能会遇到COOKIE正常工作的问题(请参阅)我更喜欢使用WordPress常量来表示时间(以秒为单位),比如月份(以秒为单位),而不是输入整数。
    setcookie( 'my-cookie-name', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN );