最近一直都比較忙,所以也沒有時間接各種各樣的需求,wordpress 折騰得也少了,現(xiàn)在 wordpress 都已經(jīng)升級到 3.2.1 了,那些最新的功能啊、函數(shù)啊都還沒有玩過,有點脫節(jié),只能拿一些小問題但比較實用的方法出來分享給大家。
今天有一個朋友問了我一個關于 wordpress 的問題,需求的背景是這樣的,在他的博客文章里曾經(jīng)插入了很多指向到 discuz 論壇的鏈接,然而,自從那個 discuz 論壇升級到 x2 以后,鏈接地址都改變了,導致之前在 wordpress 中插入的論壇鏈接都失效了。面對這樣的問題,我認為有兩種解決方案,一是從 discuz 論壇下手,做 301 重定向,把舊的鏈接引向新地址;二是從 wordpress 下手,批量修改文中已經(jīng)存在的鏈接地址。
當然,我在這里選擇從 wordpress 下手,從 wordpress 下手也可以有兩種方法。一是從數(shù)據(jù)庫下手,二是從 wordpress 主題下手,我一一來介紹一下。
一、從數(shù)據(jù)庫下手
在數(shù)據(jù)庫里批量替換的方法以前有介紹過,這里再重溫一下,進入 phpmyadmin,找到你的數(shù)據(jù)表,先備份,然后運行 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 是你要替換的文字。
兩個方法都很簡單,但是各有各的特點。
從數(shù)據(jù)庫下手的話,優(yōu)點就是一勞永逸,徹底替換所有文字內(nèi)容,但是對于不熟悉數(shù)據(jù)庫的朋友還是不推薦冒然操作數(shù)據(jù)庫,就怕一失足成千骨恨。
從 wordpress 下手的話,優(yōu)點就是安全,再不濟也就是把主題改壞了,重新上傳一下就 ok,但是在性能方法就比數(shù)據(jù)庫操作要差一些,因為每次瀏覽文章都必須在后臺進行一次替換的操作。
所以,到底選擇哪個方法,就需要看官們自己衡量了。