最近一直都比較忙,所以也沒有時(shí)間接各種各樣的需求,WordPress 折騰得也少了,現(xiàn)在 WordPress 都已經(jīng)升級到 3.2.1 了,那些最新的功能啊、函數(shù)啊都還沒有玩過,有點(diǎn)脫節(jié),只能拿一些小問題但比較實(shí)用的方法出來分享給大家。
今天有一個朋友問了我一個關(guān)于 WordPress 的問題,需求的背景是這樣的,在他的博客文章里曾經(jīng)插入了很多指向到 Discuz 論壇的鏈接,然而,自從那個 Discuz 論壇升級到 X2 以后,鏈接地址都改變了,導(dǎo)致之前在 WordPress 中插入的論壇鏈接都失效了。面對這樣的問題,我認(rèn)為有兩種解決方案,一是從 Discuz 論壇下手,做 301 重定向,把舊的鏈接引向新地址;二是從 WordPress 下手,批量修改文中已經(jīng)存在的鏈接地址。
當(dāng)然,我在這里選擇從 WordPress 下手,從 WordPress 下手也可以有兩種方法。一是從數(shù)據(jù)庫下手,二是從 WordPress 主題下手,我一一來介紹一下。
一、從數(shù)據(jù)庫下手
在數(shù)據(jù)庫里批量替換的方法以前有介紹過,這里再重溫一下,進(jìn)入 phpmyadmin,找到你的數(shù)據(jù)表,先備份,然后運(yùn)行 SQL,輸入以下語句即可:
UPDATE wp_posts SET post_content = replace(post_content, 'old','new');
其中 old 是舊的字符串,new 是你要替換的文字。
二、從 WordPress 主題下手
在 WordPress 主題的 functions.php 中插入以下代碼:
function content_str_replace($content = ''){
$content = str_replace('old', 'new', $content);
return $content;
}
add_filter('the_content', 'content_str_replace', 10);
和之前一樣,其中 old 是舊的字符串,new 是你要替換的文字。
兩個方法都很簡單,但是各有各的特點(diǎn)。
從數(shù)據(jù)庫下手的話,優(yōu)點(diǎn)就是一勞永逸,徹底替換所有文字內(nèi)容,但是對于不熟悉數(shù)據(jù)庫的朋友還是不推薦冒然操作數(shù)據(jù)庫,就怕一失足成千骨恨。
從 WordPress 下手的話,優(yōu)點(diǎn)就是安全,再不濟(jì)也就是把主題改壞了,重新上傳一下就 OK,但是在性能方法就比數(shù)據(jù)庫操作要差一些,因?yàn)槊看螢g覽文章都必須在后臺進(jìn)行一次替換的操作。
所以,到底選擇哪個方法,就需要看官們自己衡量了。
更多信息請查看IT技術(shù)專欄