做360網(wǎng)站優(yōu)化蘇州關(guān)鍵詞優(yōu)化軟件
今天boke112百科將某篇文章修改分類和內(nèi)容更新后,發(fā)現(xiàn)文章底部的相關(guān)文章顯示的內(nèi)容跟文章分類、標(biāo)簽毫無(wú)關(guān)系,還是顯示原來(lái)的舊內(nèi)容。后來(lái)查看YIA主題相關(guān)文章的代碼,才發(fā)現(xiàn)相關(guān)文章的數(shù)據(jù)保存到內(nèi)存中的,而且是永不過(guò)期,特別是在WordPress網(wǎng)站使用了Memcached后更是如此。
那么應(yīng)該怎么辦呢?這里提供3種解決方法,其中方法一適合所有WordPress網(wǎng)站,方法二和方法三僅使用YIA主題,除非你修改其中的緩存密鑰$key。
方法一、寶塔面板定期釋放內(nèi)存
如果你的WordPress網(wǎng)站使用的是服務(wù)器且安裝有寶塔面板,那么可以進(jìn)入后臺(tái)后點(diǎn)擊“計(jì)劃任務(wù)”>> 點(diǎn)擊【添加任務(wù)】按鈕 >> 任務(wù)類型選擇“釋放內(nèi)存”,設(shè)置執(zhí)行周期,建議一天一次或幾小時(shí)一次,最后點(diǎn)擊【確定】按鈕即可。
這樣設(shè)置后,等寶塔執(zhí)行釋放內(nèi)存操作后,保存在內(nèi)存中的所有緩存都會(huì)被清理,那么相關(guān)文章就會(huì)跟著更新了。
方法二、相關(guān)文章添加過(guò)期時(shí)間
以YIA主題3.0版本為例,找到并打開(kāi)single.php文件,找到以下代碼:
wp_cache_set($related_cache_key, $related_cache_data);
將其修改為:
wp_cache_set($related_cache_key, $related_cache_data,'',3600);
其中3600的意思就是有效期為1個(gè)小時(shí)(3600秒),想要更長(zhǎng)時(shí)間,只需要修改3600即可,最后記得保存文件即可。
注意:如果你使用的不是YIA主題3.0版本,那么代碼可能不一樣,只需要根據(jù)single.php文件找到相關(guān)文章的代碼,然后找到“wp_cache_set”開(kāi)頭的代碼,自行添加時(shí)間即可。
方法三、更新文章時(shí)清理緩存
不想修改相關(guān)文章的緩存時(shí)間,那么可以直接在YIA主題的functions.php文件中添加以下代碼,并保存更新文件即可。
// 當(dāng)WordPress文章更新時(shí)刪除相關(guān)文章緩存
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);
}
}
代碼的意思就是如果文章更新保存,就會(huì)刪除密鑰為“yia_post_relateds_文章ID”的緩存。
如果以上代碼無(wú)效,請(qǐng)確認(rèn)你所使用的YIA主題的相關(guān)文章緩存密鑰是不是“yia_post_relateds_文章ID”,若不是將其修改為正確的密鑰即可。
如果你使用的不是YIA主題,只需要將上述第5行代碼中的密鑰“yia_post_relateds_文章ID”修改為你所使用主題對(duì)應(yīng)的密鑰即可,不限于相關(guān)文章哦!
來(lái)源:YIA主題的相關(guān)文章為什么不變?WordPress如何刪除內(nèi)存中的緩存? - boke112百科