WordPress中通过header给页面发送原生HTTP 头

日期: 标签:WordPress教程 5 条留言
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我
文章目录

在PHP中,我们可以用 header 函数来发送原生 HTTP 头,但在WordPress中怎么发送HTTP 头呢?

方法一:自己写代码

将下面的代码放到当前主题的functions.php中即可:

/**
*  在用户登陆的情况下,给前台所有页面添加不缓存的 Cache-Control 头  
*/

function ludou_http_headers() {
  // 判断用户是否登陆,并且是在非后台(前台)页面
  if(is_user_logged_in() && !is_admin()) {
    // php的header函数发送HTTP 头
    header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
  }
}

/* WordPress hook
* 第一个参数值 wp 是action动作名称,文档:https://codex.wordpress.org/Plugin_API/Action_Reference/wp
* 第二个参数值 ludou_http_headers 是上面的函数名称,自己取名
*/
add_action( 'wp', 'ludou_http_headers' );

方法二:用插件

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜博客 https://www.ludou.org/wordpress-add-http-header.html
露兜
ourwindow@163.com  QQ 825533758   微信号 ludou364939

业余编程爱好者,主业是贝壳工艺品商人,感兴趣可以到我的淘宝店看看:海叔贝爷

5 条留言

点此留言
  1. 明月登楼

    不错,学习受教了!

  2. 阿亮

    会和原header冲突么?

  3. 时光在路上

    谢谢分享。

    这几天利用你的代码把博客的头像缓存弄了一下,知更鸟的主题,不过挺麻烦的,改了不少地方。最后有一个地方搞不定,因为用了延迟加载,所以代码是这样:<?php echo '<img class="avatar" alt="' . get_comment_author( $comment_ID ) . '" src="' . get_template_directory_uri() . '/img/load-avatar.gif" data-original="' . preg_replace(array('/^.+(src=)(\"|\')/i', '/(\"|\')\sclass=(\"|\').+$/i'), array('', ''), my_avatar( $comment->comment_author_email, '40' )) . '" />'; ?>

    但是结果会在img标签后面多出来 " /> 这个,img标签提前闭合了,不知道是不是preg_replace 函数这正则的的问题,搞不定,最后把 . '" />' 给删了,倒是不会出现多余的符号了。很困惑,希望大牛有时间可以给点拨一下。提前祝国庆中秋节快乐。

  4. 手机街

    文章不错来学习一下吧

发表留言