当前位置: 首页 > news >正文

WordPress如何删除内存中的缓存?

今天boke112百科将某篇文章修改分类和内容更新后,发现文章底部的相关文章显示的内容跟文章分类、标签毫无关系,还是显示原来的旧内容。后来查看YIA主题相关文章的代码,才发现相关文章的数据保存到内存中的,而且是永不过期,特别是在WordPress网站使用了Memcached后更是如此。

YIA主题的相关文章为什么不变?WordPress如何删除内存中的缓存?-第1张-boke112百科(boke112.com)

那么应该怎么办呢?这里提供3种解决方法,其中方法一适合所有WordPress网站,方法二和方法三仅使用YIA主题,除非你修改其中的缓存密钥$key。

方法一、宝塔面板定期释放内存

如果你的WordPress网站使用的是服务器且安装有宝塔面板,那么可以进入后台后点击“计划任务”>> 点击【添加任务】按钮 >> 任务类型选择“释放内存”,设置执行周期,建议一天一次或几小时一次,最后点击【确定】按钮即可。

YIA主题的相关文章为什么不变?WordPress如何删除内存中的缓存?-第2张-boke112百科(boke112.com)

这样设置后,等宝塔执行释放内存操作后,保存在内存中的所有缓存都会被清理,那么相关文章就会跟着更新了。

方法二、相关文章添加过期时间

以YIA主题3.0版本为例,找到并打开single.php文件,找到以下代码:

wp_cache_set($related_cache_key, $related_cache_data);

将其修改为:

wp_cache_set($related_cache_key, $related_cache_data,'',3600);

其中3600的意思就是有效期为1个小时(3600秒),想要更长时间,只需要修改3600即可,最后记得保存文件即可。

注意:如果你使用的不是YIA主题3.0版本,那么代码可能不一样,只需要根据single.php文件找到相关文章的代码,然后找到“wp_cache_set”开头的代码,自行添加时间即可。

方法三、更新文章时清理缓存

不想修改相关文章的缓存时间,那么可以直接在YIA主题的functions.php文件中添加以下代码,并保存更新文件即可。

// 当WordPress文章更新时删除相关文章缓存
add_action('save_post', 'yia_delete_cache_on_update', 10, 3);
function yia_delete_cache_on_update($post_id, $post, $update) {
if ($update) {
wp_cache_delete('yia_post_relateds_' . $post_id);
}
}

代码的意思就是如果文章更新保存,就会删除密钥为“yia_post_relateds_文章ID”的缓存。

如果以上代码无效,请确认你所使用的YIA主题的相关文章缓存密钥是不是“yia_post_relateds_文章ID”,若不是将其修改为正确的密钥即可。

如果你使用的不是YIA主题,只需要将上述第5行代码中的密钥“yia_post_relateds_文章ID”修改为你所使用主题对应的密钥即可,不限于相关文章哦!

来源:YIA主题的相关文章为什么不变?WordPress如何删除内存中的缓存? - boke112百科

http://www.lryc.cn/news/377491.html

相关文章:

  • 【XML模版文件参数初始化】
  • Golang | Leetcode Golang题解之第160题相交链表
  • 基于FOC控制器的BLDC无刷直流电机控制系统matlab编程与仿真
  • ffmpeg转换视频格式
  • 设计程序,利用栈实现数值转换
  • QSharedMemory使用详解
  • 中电金信:保险业多项举措共绘数字化转型新篇章
  • Gartner发布2024年人工智能技术成熟度曲线:29项决定人工智能领域发展方向的前沿和趋势性技术
  • 顺势而为:雷军、小米与创业成功的深层思考
  • Java+ffmpeg 合并两个mp4文件
  • 汽车IVI中控开发入门及进阶(三十一):视频知识扫盲
  • 【后端】Java学习笔记(二周目-1)
  • PDF文档翻译软件哪个好?分享5款快速翻译的工具
  • 哪些因素驱动新零售发展?新零售与传统零售、电子商务区别在哪?
  • 使用代理IP常见问题及解答
  • 重磅!鹅厂大牛带你30分钟玩转AI智能结对编程!
  • 研究Redis源码的一些前期准备
  • 用PHP来调用API给自己定制一个“每日新闻”
  • AGI时代,程序员想学习大语言模型(LLM),应该从哪里开始?
  • Vue在表单校验中trigger属性指定何时触发校验规则
  • 【多线程实例】
  • 数据治理在数据提取中的角色:确保数据质量和安全
  • Nuxt快速学习开发 - Nuxt3静态资源Assets
  • 为什么企业需要数据挖掘平台?哪个比较好呢?
  • leetCode-hot100-链表专题
  • 【ai】tx2-nx:配置tritonserver2.17.0-jetpack4.6 环境并运行例子
  • Spring和Spring Boot常用注解介绍及使用
  • 【计算机毕业设计】211校园约拍微信小程序
  • 笨蛋学算法之LeetCodeHot100_1_两数之和(Java)
  • 用ip link add link命令创建vlan子设备