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

日期: 标签:WordPress教程
如需帮忙改代码,或者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
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者。

16 条留言

点此留言
  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. 手机街 手机街

    文章不错来学习一下吧

  5. 历史趣谈 历史趣谈

    很使用的技术,学习收藏一下

  6. 米扑博客 米扑博客

    学习了,回头试试博主的方法,感谢分享

  7. 特心理 特心理

    刚刚找 Baidu-YunGuanCe 找到这里来的

  8. 一起学思维导图 一起学思维导图

    一起学思维导图,就是使用wordpress大件的,非常好用!

  9. 鸟叔 鸟叔

    博主换主题了?

  10. 米扑博客 米扑博客

    嗯 这篇文章很实用

  11. 今天头条 今天头条

    文章不错非常喜欢

  12. 王光卫博客 王光卫博客

    这种解决方式先收藏

  13. webkv webkv

    这个方法不错,不过偶是用环境配置的头文件部分。

  14. 米扑博客 米扑博客

    正在找这个功能哈

  15. 两天 两天

    虽然不懂,但是觉得很厉害

发表留言