我已经看过wp_headers
并且send_headers
都用于同一件事,而且我想知道您是如何知道要使用哪个以及何时使用的...
在send_headers
Codex页面上,有一个添加X-UA-Compatible: IE=edge,chrome=1
for Internet Explorer向后兼容性的示例,因为如果太晚加载,meta标记在Intranet网站上通常会失败。
该send_headers
示例如下所示:
add_action( 'send_headers', 'add_header_xua' );
function add_header_xua() {
header( 'X-UA-Compatible: IE=edge,chrome=1' );
}
但是wp_headers
也可以这样做:
apply_filters ( 'wp_headers', array $headers, WP $this )
add_filter( 'wp_headers', 'wpieeam_headers' );
function wpieeam_headers($headers) {
if (!is_admin()) {
$headers['X-UA-Compatible'] = 'IE=edge,chrome=1';
}
return $headers;
}
更新:我实际上只是注意到,几年前关于这个问题的对话或多或少开始了……
另外,send_headers是否仅与前端有关?我已经看到wp_headers做这样的检查:
if ( isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) )
和
if (!is_admin())
所以我想也许send_headers
不必做那些检查...