2012-08-03 20 views
5

Estoy tratando de establecer una cookie en wordpress. Me he fijado mi galleta así:Cómo establecer una cookie en Wordpress

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

en header.php de mi tema, pero cuando voy a mi navegador para ver mi página web me sale este error

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 

y también mi galleta duerma conjunto. ¿Cómo configuro una cookie en wordpress?

También he probado este

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

En WordPress, usted debe usar '' COOKIEPATH' y COOKIE_DOMAIN', de lo contrario es posible que tenga problemas con las galletas funciona correctamente (ver [esta respuesta] (http://stackoverflow.com/a/ 30665891/870729)) –

Respuesta

3

Usted tiene que fijar antes de nada se da salida a

mirada allí: How can I set, get and destroy cookies in Wordpress?

Si está utilizando un tema en function.php

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

Su fecha de expiración es 0 así te las cookies se eliminarán de inmediato mirar el php doc:

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

Tienes que ponerlo así por ejemplo:

setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */ 
+0

lo que se sugiere en eso no funcionará, traté de poner en mi página function.php pero me dio errores php sobre la sintaxis – user1269625

+0

es la sintaxis correcta aquí hay más ejemplos: http: //wptheming.com/2011/04/set-a-cookie-in-wordpress/¿Qué errores tienes? –

+0

Probé tu código Jerome también y no creó mi cookie ... ¿necesito llamarlo a alguna parte? ¿y cómo? – user1269625

1
  1. creando una cookie: El El siguiente ejemplo configurará la cookie que expiró para una hora (60 * 60 segundos) ya que se configuró con COOKIEPATH y COOKIE_DOMAIN fue definido por WordPress de acuerdo con la ruta del sitio y el dominio.

    setcookie('my-cookie-name', 'my-cookie-value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN); 
    
  2. Conseguir un Cookie: Primeros una cookie se puede hacer mediante el uso de $ _COOKIE variable que contiene una matriz asociativa.

    $myCookie = isset($_COOKIE['my-cookie-name']) ? $_COOKIE['my-cookie-name'] : 'Not Set!!'; 
    
  3. Eliminar o una galleta Desestablecer: Es igual que la instrucción anterior # 1, sólo que con un tiempo negativo de expirar la cookie;

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