做音乐网站多少钱,wordpress 置顶 函数,山东东营市天气预报,wordpress 火车头采集今天boke112百科将某篇文章修改分类和内容更新后#xff0c;发现文章底部的相关文章显示的内容跟文章分类、标签毫无关系#xff0c;还是显示原来的旧内容。后来查看YIA主题相关文章的代码#xff0c;才发现相关文章的数据保存到内存中的#xff0c;而且是永不过期#xf…今天boke112百科将某篇文章修改分类和内容更新后发现文章底部的相关文章显示的内容跟文章分类、标签毫无关系还是显示原来的旧内容。后来查看YIA主题相关文章的代码才发现相关文章的数据保存到内存中的而且是永不过期特别是在WordPress网站使用了Memcached后更是如此。 那么应该怎么办呢这里提供3种解决方法其中方法一适合所有WordPress网站方法二和方法三仅使用YIA主题除非你修改其中的缓存密钥$key。
方法一、宝塔面板定期释放内存
如果你的WordPress网站使用的是服务器且安装有宝塔面板那么可以进入后台后点击“计划任务” 点击【添加任务】按钮 任务类型选择“释放内存”设置执行周期建议一天一次或几小时一次最后点击【确定】按钮即可。 这样设置后等宝塔执行释放内存操作后保存在内存中的所有缓存都会被清理那么相关文章就会跟着更新了。
方法二、相关文章添加过期时间
以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百科