Como definir cookies personalizados antes da saída

4

O que é uma maneira infalível de verificar / definir cookies antes que os cabeçalhos do php sejam enviados? Existe uma ação ou filtro que seria o melhor lugar para ligar uma função setcookie() ?

    
por Dan Gayle 24.09.2010 / 21:50

3 respostas

3

Depende se você precisa ou não verificar a autenticação de usuário do WordPress. Se você precisar saber se ele é um usuário conectado, conecte-se a 'init' . Caso contrário, quanto mais cedo melhor,

Se é algo que deve ser acionado em cada carregamento de página, e só verifica a existência do cookie e não precisa tocar em nenhuma API do WP, eu o colocaria em um plugin MU personalizado chamado 0000a.php para garantir que seja disparado antes que qualquer arquivo não principal possa enviar acidentalmente cabeçalhos.

    
por John P Bloch 24.09.2010 / 23:49
2

Acho que functions.php é definitivamente processado antes de qualquer saída e é adequado para extensões.

Quanto ao gancho, talvez after_setup_theme , vem logo depois disso.

    
por Rarst 24.09.2010 / 22:05
0

Você pode criar uma função para verificar ou definir um cookie, mas você precisa verificar wp-config.php, porque se você usar um redirecionamento, o arquivo será acessado diretamente antes do index.php no redirecionamento.

Este é um plugin que Mark Jaquith escreveu Verificação de idade que exige que o usuário preencha um formulário de verificação de idade antes de entrar no site. Eu o modifiquei para um licor, cerveja, site wite que eu fiz.

if ( !defined( 'ABSPATH' ) ) { // we're being called directly, to check the cookie
     if ( file_exists('../../wp-config.php') )
                  include('../../wp-config.php');
     elseif ( file_exists('../../../wp-config.php') )
               include('../../../wp-config.php');
    else
       die('Could not find wp-config.php');

Uma maneira melhor pode existir agora. O plugin foi escrito há mais de um ano.

    
por Chris_O 24.09.2010 / 23:02