WP function / filter para modificar cabeçalhos http?

12

Existe uma função WP dedicada, ação ou filtro para usar ao adicionar / modificar os cabeçalhos HTTP?

Por enquanto eu apenas conecto uma chamada PHP header () no hook do WP 'init' assim:

add_action('init', 'add_header_xua');
function add_header_xua(){
    if(!is_admin()){
        header('X-UA-Compatible: IE=edge,chrome=1');    
    }
}

Mas esta é a maneira correta de fazer isso?

    
por mikkelbreum 16.06.2011 / 17:40

4 respostas

8

A ação init é o lugar errado para fazer isso. Um lugar melhor seria em template_redirect, para que você afetasse apenas a visão de front-end do site e não as áreas de administração.

    
por Otto 16.06.2011 / 17:54
13

Aqui está o código que usei, com base na pergunta original e na resposta de Dominic P ...

/*
 * Modify HTTP header
 */
function add_header_xua($headers) {

    // var_dump($headers); #=> if you want to see the current headers...  

    if (!is_admin()) {
        $headers['X-UA-Compatible'] = 'IE=edge,chrome=1';    
    }

    return $headers;     
}
add_filter('wp_headers', 'add_header_xua');

Depois de adicionar esse código ao seu arquivo functions.php, você pode verificar se ele funciona executando um teste em enlace para Certifique-se de que os cabeçalhos HTTP realmente mudaram.

    
por ban-geoengineering 13.02.2014 / 15:56
10

Eu sei que já faz um tempo, mas se alguém mais se deparar com isso, eu encontrei um gancho do WordPress especificamente para modificar os cabeçalhos HTTP. O gancho é wp_headers e é chamado no classe wp .

O primeiro argumento passado é uma matriz de cabeçalhos com o nome do cabeçalho como a chave. O segundo argumento é uma referência ao objeto da classe wp.

    
por Dominic P 27.03.2013 / 23:10
3

send_headers é o método preferido sobre wp_headers para essa situação, conforme demonstrado no códice .

is_admin() || add_action('send_headers', function(){ 
    header('X-UA-Compatible: IE=edge,chrome=1'); 
}, 1);

Aqui está minha explicação sobre por que uma pergunta semelhante.

    
por Bryan Willis 08.01.2016 / 08:51

Tags