修改Http头的WP函数/过滤器?

时间:2011-06-16 作者:mikkelbreum

在添加/修改HTTP标头时,是否有专用的WP函数、操作或过滤器?

现在,我只是将一个PHP header()调用挂接到WP“init”钩子中,如下所示:

add_action(\'init\', \'add_header_xua\');
function add_header_xua(){
    if(!is_admin()){
        header(\'X-UA-Compatible: IE=edge,chrome=1\');    
    }
}
但这是正确的方法吗?

4 个回复
最合适的回答,由SO网友:Otto 整理而成

init操作是错误的执行位置。一个更好的地方是template\\u重定向,这样您只影响站点的前端视图,而不影响管理区域。

SO网友:ban-geoengineering

这是我使用的代码,基于原始问题和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\');
一旦将该代码添加到函数中。php文件,您可以通过在http://web-sniffer.net/ 以确保HTTP标头确实已更改。

SO网友:Dominic P

我知道这已经有一段时间了,但如果其他人偶然发现了这一点,我找到了一个专门用于修改HTTP头的WordPress挂钩。钩子是wp_headers 它被称为wp class.

传递的第一个参数是以标头名称为键的标头数组。第二个参数是对wp类对象的引用。

SO网友:Bryan Willis

send_headers 是首选方法wp_headers 对于这种情况,如codex.

is_admin() || add_action(\'send_headers\', function(){ 
    header(\'X-UA-Compatible: IE=edge,chrome=1\'); 
}, 1);
这是my explanation for why 关于一个类似的问题。

结束

相关推荐

将任何php文件挂钩到WordPress API

说我只是有个哑巴。php文件位于我的WP服务器上,我想让它通过API访问WP信息,我该怎么做?例如,如果我想打电话 bloginfo(\'url\'); 由于我给自己投了一票反对票(没有解释),我将解释为什么我对此感兴趣。当然,我可以从所有内置页面访问WP API。但假设我有一个与WP几乎没有关系的页面。创建一个自定义模板页面,然后将其挂接到一篇实际的文章中,这似乎需要很大的开销,这样我就可以访问几个WP API调用。最后我用了这样的东西:require $_SERVER[\'DOCUMENT_