回答:
initアクションは、それを行うのに間違った場所です。より良い場所はtemplate_redirectで、サイトのフロントエンドビューにのみ影響し、管理領域には影響しません。
元の質問とドミニク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');
functions.phpファイルにそのコードを追加したら、http://web-sniffer.net/でテストを実行して、HTTPヘッダーが実際に変更されたことを確認することで、そのコードを確認できます。
しばらく経っていますが、他の誰かがこれにつまずくと、特にHTTPヘッダーを変更するためのWordPressフックが見つかりました。フックはwpクラスでwp_headers
呼び出されます。
渡される最初の引数は、キーとしてヘッダー名を持つヘッダーの配列です。2番目の引数は、wpクラスオブジェクトへの参照です。
send_headers
は、ヘッダーが送信された後に発生するアクションで、ヘッダーが送信wp_headers
される前に適用されるフィルターです。
send_headers
...コーデックスのページを持っているが、使用するの兆候である
send_headers
codexでwp_headers
実証されているように、この状況よりも好ましい方法です。
is_admin() || add_action('send_headers', function(){
header('X-UA-Compatible: IE=edge,chrome=1');
}, 1);
ここだ理由のために私の説明同様の問題については。