微信文章同步至wordpress項(xiàng)目總結(jié)

近些天幫客戶(hù)實(shí)現(xiàn)了這樣一個(gè)功能:將他們家三個(gè)都已經(jīng)運(yùn)營(yíng)了兩三年的公眾號(hào)的所有文章都發(fā)布至wordpress 搭建的博客類(lèi)網(wǎng)站上面去,且分成三個(gè)不同的欄目和作者,且微信文章的格式要求同步過(guò)去不能有所改變,然后微信上面引用的圖片肯定要正常顯示,不能顯示防盜鏈。

而且還需要做出一個(gè)微信文章同步至wordpress 的接口:之后他們更新微信文章時(shí),只需要在輸入框輸入此篇文章的鏈接,就可以自動(dòng)同步至他們的wordpress 網(wǎng)站上面去。且排版一模一樣。免去了再次在wordpress 后臺(tái)編輯的多余時(shí)間,免去了wordpress 后臺(tái)編輯文章渣的體驗(yàn)。

目前此項(xiàng)目已經(jīng)成功,現(xiàn)在在此總結(jié)下經(jīng)驗(yàn)。

要求微信文章排版、格式等原封不動(dòng)地搬至另一個(gè)網(wǎng)站上面,那么最直接的辦法便是獲得此文章正文的html 代碼,然后插入至wordpress 對(duì)應(yīng)的正文數(shù)據(jù)庫(kù)里面即可,即數(shù)據(jù)表wp_posts。原理很簡(jiǎn)單。

但雖然原理簡(jiǎn)單,但還是有些地方需要注意。項(xiàng)目實(shí)施過(guò)程中,碰到的一個(gè)問(wèn)題便是wordpress 會(huì)自動(dòng)將源代碼進(jìn)行一些修改,導(dǎo)致顯示在前端的文章排版錯(cuò)亂。這里我也是花了很久才找到了源頭,下面列出我筆記中的一段話:

修改single.php 中the_content(); 變成echo get_the_content(); 即可,表示不經(jīng)過(guò)wordpress 自帶的過(guò)濾器,保證源代碼的不變!

由于之前有過(guò)微信文章爬蟲(chóng)的經(jīng)驗(yàn),所以可以通過(guò)微信頁(yè)面獲取到時(shí)間、公眾號(hào)標(biāo)題、封面、文章摘要等字段的數(shù)據(jù),那這時(shí)也就可以用到了,直接抓取到對(duì)應(yīng)的信息然后根據(jù)wordpress 中對(duì)應(yīng)數(shù)據(jù)表wp_posts 的字段來(lái)一一轉(zhuǎn)換過(guò)去即可。

考慮到三個(gè)公眾號(hào)要有不同的欄目和作者,同理,操作數(shù)據(jù)庫(kù)中對(duì)應(yīng)的字段信息即可,不同的欄目信息修改數(shù)據(jù)表wp_term_relationships ,不同的作者操作數(shù)據(jù)表wp_posts 中的author 字段即可。當(dāng)然首先是需要新建欄目和作者的信息,上面兩個(gè)表中只是插入對(duì)應(yīng)的id

關(guān)于文章中的圖片處理方式,我是直接寫(xiě)了一段額外的代碼,將微信文章中的所有圖片鏈接都提取出來(lái),然后下載至服務(wù)器對(duì)應(yīng)的文件夾中,之后再改變此文章html 中對(duì)應(yīng)的圖片鏈接地址即可。

關(guān)于將他們的歷史文章都導(dǎo)入進(jìn)wordpress 網(wǎng)站中,只需先通過(guò)微信抓取軟件獲取他們所有文章的url鏈接,然后再寫(xiě)個(gè)循環(huán)運(yùn)行即可。不過(guò)中間也有許多坑,慢慢體會(huì)吧。

當(dāng)然兼容他們指定的主題也花了一定的時(shí)間,不過(guò)主要是操作數(shù)據(jù)表wp_postmeta

wordpress 是建立在PHP 上面的,以上實(shí)現(xiàn)邏輯應(yīng)該任何后端語(yǔ)言都是可以實(shí)現(xiàn)的,奈何我的PHP 實(shí)在太渣,所以我是用的node 來(lái)實(shí)現(xiàn)的此功能,不過(guò)最終實(shí)現(xiàn)效果還是挺不錯(cuò)的,只不過(guò)最終的微信文章同步至wordpress 軟件調(diào)用的是另外一個(gè)端口罷了。不過(guò)這些都好解決,用nginx 做下端口轉(zhuǎn)換即可。

軟件邏輯總結(jié):之前做微信爬蟲(chóng)時(shí),是將數(shù)據(jù)保存在自己制定的數(shù)據(jù)表中,現(xiàn)在只需將微信爬蟲(chóng)爬來(lái)的數(shù)據(jù),寫(xiě)進(jìn)wordpress 中對(duì)應(yīng)的數(shù)據(jù)表中即可。

如果您也需要實(shí)現(xiàn)此功能,但又沒(méi)有技術(shù)或時(shí)間,可以聯(lián)系我微信:18817507530。

客戶(hù)網(wǎng)站鏈接:學(xué)習(xí)哥

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容