教你如何在wordpress中设置cookie

如果你在WordPress主题文件中直接使用php的setcookie()来发送cookie,那是完全不行的。setcookie()文档中有一条内容:必须在任何其他输出发送前对 cookie 进行赋值,我怀疑WordPress初始化的时候已经发送了其他输出,才导致setcookie失效。下面介绍一种方法设置cookie。

方法/步骤

  1. 在主题文件functions.php中添加以下代码,以设置cookie:

  2. /** * 函数名称,setcookie的相关参数等可以自行修改 */function set_newuser_cookie() {    if (!isset($_COOKIE['sitename_newvisitor'])) {        setcookie('sitename_newvisitor', 1, time()+1209600, COOKIEPATH, COOKIE_DOMAIN, false);    }}

     

    add_action( 'init', 'set_newuser_cookie');// 上面一行代码也可以改成下面一行代码// add_action('after_setup_theme', 'set_newuser_cookie

  3. 然后在需要调用cookie值的地方读取cookie

  4. if (isset($_COOKIE['sitename_newvisitor'])) {     echo 'Welcome back!';}else {     echo 'Hello new visitor!';}

你可能感兴趣的:(教你如何在wordpress中设置cookie)