wordpress 內(nèi)容備份鏡像站點(diǎn)建立方法及注意事項(xiàng)
作為蝦米級站長一枚,實(shí)則是不懂代碼的菜鳥,由于自己的站點(diǎn)是小水管主機(jī),而且穩(wěn)定性也難以保障,在很多訪客的建議下,也想建立一個(gè)內(nèi)容鏡像站點(diǎn),以實(shí)現(xiàn)當(dāng)主站的主機(jī)維護(hù)時(shí),能夠有一個(gè)備用站點(diǎn)讓訪客訪問。
作為蝦米級站長一枚,實(shí)則是不懂代碼的菜鳥,由于自己的站點(diǎn)是小水管主機(jī),而且穩(wěn)定性也難以保障,在很多訪客的建議下,也想建立一個(gè)內(nèi)容鏡像站點(diǎn),以實(shí)現(xiàn)當(dāng)主站的主機(jī)維護(hù)時(shí),能夠有一個(gè)備用站點(diǎn)讓訪客訪問。
最先我是想能夠有一個(gè)共用的數(shù)據(jù)庫可以給兩個(gè)站點(diǎn)一起使用,但百度查了資料后,發(fā)現(xiàn)這對于虛擬主機(jī)建站來說好像不適用。
直到找到了以下的代碼,可以實(shí)現(xiàn)源站發(fā)表文章時(shí),自動(dòng)在鏡像站點(diǎn)也發(fā)表出來。
第一步,鏡像站根目錄創(chuàng)建一個(gè)命名為 post.php 的 php 文件,代碼內(nèi)容:
第二步,主站主題的 functions.php 文件的最后一個(gè)?>前加入已下代碼,并設(shè)置 key,修改 API 地址。
//文章推送 add_action('publish_post',?'fanly_sync_post');?//鉤子,在文章發(fā)布時(shí)執(zhí)行? function?fanly_sync_post($post_ID)?{? ????$key='123456';?//輸入你設(shè)置的密鑰? ????$url='http://aliwutai.com/post.php';//API地址,就是接受數(shù)據(jù)的那個(gè)站點(diǎn) ????$post_info?=?get_post($post_ID);? ????if?(?$post_info->post_status?==?'publish'?&&?$_POST['original_post_status']?!=?'publish'?)?{? ????????$title=$_POST['post_title'];? ????????$content=$_POST['content'];? ????????$date=$_POST['aa'].'-'.$_POST['mm'].'-'.$_POST['jj'].'?'.$_POST['hh'].':'.$_POST['mn'].':'.$_POST['ss'];? ????????$category='';? ????????for($x=1;$x 這樣一來,在主站發(fā)表一篇文章后,鏡像站點(diǎn)也就會(huì)發(fā)表出來一篇文章了,但也會(huì)有一些意外情況,比如不是馬上發(fā)表出來,而是顯示計(jì)劃中,正常隔幾分鐘后會(huì)發(fā)表好,但也會(huì)有發(fā)表失敗,需要在后臺(tái)文章管理中,選擇該發(fā)表失敗文章,狀態(tài)修改為已發(fā)布,更新即可。 一些意外情況的解決: 問題1,由于主題升級后,functions.php代碼會(huì)被置換。用以上方法實(shí)現(xiàn)的內(nèi)容鏡像每次在主題升級后都需要修改functions.php代碼,這會(huì)造成麻煩。 所以有如下解決辦法,代碼如下: post_status?==?'publish'?&&?$_POST['original_post_status']?!=?'publish'?)?{? ????????$title=$_POST['post_title'];? ????????$content=$_POST['content'];? ????????$date=$_POST['aa'].'-'.$_POST['mm'].'-'.$_POST['jj'].'?'.$_POST['hh'].':'.$_POST['mn'].':'.$_POST['ss'];? ????????$category='';? ????????for($x=1;$x 復(fù)制上面的代碼,最好是用Notepad ++等工具另存為php文件,打包成zip文檔,在WordPress插件安裝后臺(tái)上傳,安裝并啟用。 這樣就是一個(gè)插件形式存在了,主題升級后不再有影響。 問題2,有些主題編輯器是支持密碼可見付費(fèi)可見等短代碼的,但短代碼在編輯模式跟輸出模式是不一樣的,到了鏡像站的內(nèi)容會(huì)是輸出模式,有可能會(huì)輸出異常。 我的解決辦法也是采用小插件的辦法,對這些代碼進(jìn)行一個(gè)自動(dòng)修改。代碼如下: ?'替換為這些' '\"20\"]'?=>?'"20"]', '\"10\"]'?=>?'"10"]', '\"50\"]'?=>?'"50"]' ); $text?=?str_replace(array_keys($replace),?$replace,?$text); return?$text; } add_filter('the_content',?'wpdaxue_replace_text');?//正文 add_filter('the_excerpt',?'wpdaxue_replace_text');?//摘要 add_filter('comment_text',?'wpdaxue_replace_text');?//評論 ?> 在此文中,使用到的代碼都是萬能的博主們提供的,我只是對其進(jìn)行了一個(gè)有效的整合,來實(shí)現(xiàn)我的需求,在此感謝共享精神的博主們的辛勤付出! 經(jīng)驗(yàn)分享,首發(fā)于v2ex,歡迎轉(zhuǎn)載,但不得修改內(nèi)容,謝謝! 代碼提供 感謝 @淚雪建站 @極客公園 @WordPress大學(xué) WordPress wordpress
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。