織夢DedeCMS轉WordPress

最近,有個用戶找模板兔遷移網站,源站用的dede,需要轉成wp,文章數量大概7000-8000篇,其中有個需求是保證舊文章的鏈接有效,在wp上的新文章與舊文章的鏈接類型不一樣,所以這涉及到偽靜態來處理跳轉。雖然網上都很多教程,但是在這次導入過程中還是遇到過一些問題。

以下教程是dede的數據表得與wp的數據表在同一個數據庫下!要是不在,可以將dede_archives先導入到wp的數據庫里。

一般流程

1. 文章標題等基本數據導入

織夢的文章標題、正文和欄目分別存放在三個不同的表上,但WordPress把文章標題和正文放在一個表上,欄目放在另外一個表上。

為了簡化后面的工作,第一步我首先把織夢的全站RSS文件(rss.php)保存下來,然后使用WordPress自帶的RSS導入該文件。這樣就可以使WordPress在wp_posts上生成文章標題,在dede_terms上生成文章目錄,并匹配起來。通過RSS導入,wp_posts上還導入了文章的摘要、日期、自定義網址等數據。但RSS導入不會導入全文。

2. 文章全文導入

織夢數據庫的文章全文儲存在dede_addonarticle表上的body里,我們要把這個body的內容轉到Worpress數據庫里wp_posts表上的post_content里。

這個轉換,需要使用一個橋梁——那就是dede_archives,即dede_addonarticle上body的內容先轉到dede_archives上,再從dede_archives上再轉到wp_posts上的post_content里。這兩次轉換的匹配點,分別是織夢里的文章id,以及Wordpress里已經導入了的文章標題(這與織夢里的文章標題是一樣的)。

具體步驟如下:

進入phpMyAdmin,在織夢數據庫里的dede_archives表上,添加一個列,命名為body,然后用UPDATE命令把dede_addonarticle上的全文(body)導入到dede_archives的body上,以dede_addonarticle上的aid和dede_archives上的id為匹配點:

UPDATE?`dede_archives`,`dede_addonarticle` SET?`dede_archives`.`body`=?`dede_addonarticle`.`body` WHERE?`dede_archives`.`id`?=?`dede_addonarticle`.`aid`

接下來把整個dede_archives表導入到WordPress的數據庫上,使其與wp_posts同在一個數據庫下。

再次使用UPDATE命令把,把dede_archives上的body導入到wp_posts上的post_content上,以文章標題為匹配點 (前提是,你的文章標題都是唯一的):

UPDATE?`wp_posts`,`dede_archives` SET?`wp_posts`.`post_content`=?`dede_archives`.`body` WHERE?`wp_posts`.`post_title`?=?`dede_archives`.`title`

3. 文章點擊數導入

在WordPress上安裝一個叫Simple Hit Counter的Plug-in,這樣數據庫里就出現一個叫wp_hitcount的表。

在wp_posts增加一個叫hits的column,然后把dede_archives上的點擊數click導入到wp_posts的hits上,仍然以標題為匹配點。

最后把wp_posts的hits導入到wp_hitcount的hits上,這次以wp_posts的ID和wp_hitcount的pid為匹配點。

常見問題

1、把rss.xml導入wordpress時提示不能獲取文章id

Rss.xml編碼如果和wp系統的編碼不一樣,在導入wp時,就會提示不能獲取文章id。例如你用的織夢是gbk版本的,而默認的wp是utf版本,就會提示這個錯誤了。

解決方法:很簡單,如果你用的是織夢gbk,那么生成的rss.xml就是gbk的,用dreamwear等編輯工具,把rss.xml改成utf的,之后導入wp,問題就解決了。

2、導入rss.xml的文章數量限制

當你的織夢內容很多時,例如有好幾萬篇文章,那么導出的rss.xml中也就包含幾萬標題。在導入wp時,在導入到2000左右就會卡住,不能導入了。

解決方法:很簡單,只要把rss.xml重復導入到wp就可以了,因為第二次導入rss.xml時,第一次導入的內容會被跳過,第二次會導入新的內容,重復導入幾次后,rss.xml就完全導入成功了。

3、如果織夢數據導入wordpress后,wp網站首頁內容顯示正常,但內容頁沒有顯示內容。

這應該是你wp的固定連接問題,解決方法:wp后臺——設置——固定連接,修改成默認,問題就解決了。

4、在文章全文導入的時候,可能由于文章數量很多,一次性執行sql語句后導致mysql直接掛掉了(這個看各自服務器性能,模板兔的這個客戶用的是win主機,性能并不好),所以無奈只能分批次來轉換,例如通過wp_posts表里的ID區間來分批轉換。

UPDATE?wp_posts,dede_archives?SET?wp_posts.post_content?= dede_archives.body?WHERE?wp_posts.post_title?= dede_archives.title?and?wp_posts.ID?<?501

UPDATE wp_posts,dede_archives SET wp_posts.post_content = dede_archives.body WHERE wp_posts.post_title = dede_archives.title and wp_posts.ID < 1001 and wp_posts.ID > 500

以此類推,看你文章多少來決定,我每次執行時間是2兩多鐘。。。而且在導入過程中還會出現error,提示字符串的問題。

來源:https://www.mobantu.com/6576.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86659.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86659.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86659.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

installGo.sh

#!/bin/bash # 檢查是否以root用戶運行 if [ "$(id -u)" -ne 0 ]; then echo "請使用root權限運行此腳本" exit 1 fi # 檢查是否安裝了必要的工具 for cmd in curl wget tar; do if ! command -v $cmd &> /dev/null; then echo…

【技術難題】el-table的全局數據排序實現示例,不受分頁影響,以及異步請求帶來的頁面渲染問題

參考鏈接:https://blog.csdn.net/qq_35770559/article/details/131183121 問題代碼 編輯頁面detail.vue <el-form title="列表信息" name="detail"><el-form><el-form-item><el-buttontype="cyan"icon="el-icon-p…

非功能測試

非功能測試范疇&#xff1a;界面測試&#xff0c;易用性測試&#xff0c;兼容性測試&#xff0c;文檔測試&#xff0c;安裝/卸載測試等等 界面測試 1.窗體界面測試 1.窗體定義&#xff1a;指整個軟件窗口&#xff0c;也可稱為窗口&#xff0c;是界面測試的基本單位 2.控件分…

一起endpoint迷路的問題排查總結

今天上班&#xff0c;一到工位上&#xff0c;就有同事和我說有客戶反映自己的容器的一些指標在監控平臺不上報了&#xff0c;我當時一看機器所在的監控&#xff0c;發現確實是這樣 確實存在某個點開始數據就沒了&#xff0c;主要這個點當時也沒有任何的操作變更&#xff0c;于…

官方 Linker Scripts 語法和規則解析(2)

系列文章目錄 官方 Linker Scripts 語法和規則解析&#xff08;1&#xff09; 官方 Linker Scripts 語法和規則解析&#xff08;2&#xff09; 官方 Linker Scripts 語法和規則解析&#xff08;3&#xff09; 鏈接腳本(Linker Scripts)語法和規則解析(自官方手冊) 7.9. 鏈接腳…

CentOS 7 通過YUM安裝MySQL 8.0完整指南

一、準備工作&#xff1a;更新系統與YUM源 # 1. 更換阿里云鏡像源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 2. 清理并重建緩存 yum clean all yum makecache# 3. 升級系統所有包 yum -y update 二、安裝MySQL 8.0 1. 下載…

qq郵箱 新版 怎么去掉個性簽名?

qq郵箱 新版 怎么去掉個性簽名&#xff1f; 新版的qq郵箱&#xff0c;用著還不錯&#xff0c;特別是搜索&#xff0c;比以前好多&#xff0c;以前加載的時候&#xff0c;搜索框里有一行字&#xff0c;加載不完&#xff0c;就沒法搜索&#xff0c;特別菜。現在好多了。 不過現在…

C++:string類(1)

一.初步了解STL STL是Standard Template Library的縮寫&#xff0c;中文譯為標準模板庫&#xff0c;是C標準庫的重要組成部分。它本質上是一套基于模板的通用編程工具&#xff0c;通過模板技術實現了數據結構和算法的抽象與復用&#xff0c;讓開發者無需重復編寫基礎功能&…

如何避免靜態變量初始化中的異常

確保初始化表達式的安全性 基本數據類型初始化 對于基本數據類型&#xff08;如int、double、boolean等&#xff09;的靜態變量初始化&#xff0c;要確保賦值的表達式是合法的。例如&#xff0c;在初始化一個int類型的靜態變量時&#xff0c;避免出現除數為零的情況。 class Sa…

【151】基于Springboot+Vue實現的校園訂餐管理系統小程序(有文檔+PPT+視頻)

系統介紹 視頻演示 基于SpringbootVue實現的校園訂餐管理系統小程序&#xff08;有文檔PPT視頻&#xff09; 基于SpringbootVue實現的校園訂餐管理系統小程序采用前后端分離的架構方式&#xff0c;系統設計了管理員、商家、用戶三種角色&#xff0c;系統分為管理端、小程序端&…

從 0 到 1:基于 Qwen3 Embedding 的 RAG 智能問答系統搭建指南

RAGFlow 是一個基于深度文檔理解的開源 RAG&#xff08;檢索增強生成&#xff09;引擎。 與 LLM 集成后&#xff0c;它能夠提供真實的問答功能&#xff0c;并以來自各種復雜格式數據的可靠引用為支撐。 教程鏈接&#xff1a;OpenBayes 控制臺 使用云平臺:OpenBayes signup -…

Prompt Distillation for Efficient LLM-based Recommendation

題目 基于LLM的高效推薦的快速蒸餾 論文地址&#xff1a;https://dl.acm.org/doi/10.1145/3583780.3615017 摘要 大語言模型&#xff08;LLM&#xff09;在各種任務上表現出了無與倫比的建模能力&#xff0c;例如多步推理&#xff0c;但是這些模型的輸入大部分僅限于純文本&am…

JDBC 工具類:1.0到3.0版本

一、引言 在 Java 開發中&#xff0c;與數據庫的交互是一項常見且重要的任務。JDBC&#xff08;Java Database Connectivity&#xff09;作為 Java 語言訪問數據庫的標準 API&#xff0c;為我們提供了統一的接口來操作各種數據庫。然而&#xff0c;每次進行數據庫操作都編寫大…

實驗室建設案例 | 洛陽職業技術學院—人工智能實驗室

院校簡介 洛陽職業技術學院位于千年古都、牡丹花城、絲路起點洛陽&#xff0c;是一所由洛陽市政府舉辦的公辦高職院校&#xff0c;成立于2011年&#xff0c;辦學歷史可追溯到1945年的豫西公學。學校全面貫徹黨的教育方針&#xff0c;圍繞落實立德樹人根本任務&#xff0c;秉承“…

vue2中,修改對象數組中元素對應的屬性,頁面不更新的問題解決

有如下代碼&#xff1a; // 有一個數組 let dataAry [{name: haha, age: 20},{name: hello, age: 21} ] // 這個數組在模板中使用了v-for進行循環 v-for"one of dataAry" :name"one.name" :address"one.address"// 子組件中使用如下&#xff…

代理模式:控制對象訪問的守門員[特殊字符],優雅實現功能增強與訪問控制!

代理模式&#xff1a;控制對象訪問的守門員&#x1f510;&#xff0c;優雅實現功能增強與訪問控制&#xff01; 文章目錄 代理模式&#xff1a;控制對象訪問的守門員&#x1f510;&#xff0c;優雅實現功能增強與訪問控制&#xff01;前言&#xff1a;為什么需要代理&#xff1…

《人間詞話》PPT課件

《人間詞話》簡介 《人間詞話》是王國維所著的一部文學批評著作。《人間詞話》作于1908&#xff5e;1909年&#xff0c;最初發表于《國粹學報》。該作是作者接受了西洋美學思想之洗禮后&#xff0c;以嶄新的眼光對中國舊文學所作的評論。 《人間詞話》PPT課件下載 夸克網盤分享…

解剖智能運維三基石:Metrics/Logs/Traces

3秒知識卡 三基石關系&#xff1a; Metrics&#xff08;指標&#xff09;→ 系統脈搏&#xff08;CPU/錯誤率&#xff09; Logs&#xff08;日志&#xff09;→ 事件日記&#xff08;錯誤堆棧/用戶行為&#xff09; Traces&#xff08;追蹤&#xff09;→ 血緣地圖&#xff08;…

從代碼學習深度學習 - 情感分析:使用卷積神經網絡 PyTorch版

文章目錄 前言加載數據集一維卷積最大時間匯聚層textCNN模型定義模型加載預訓練詞向量訓練和評估模型總結前言 在之前的章節中,我們探討了如何使用循環神經網絡(RNN)來處理序列數據。今天,我們將探索另一種強大的模型——卷積神經網絡(CNN)——并將其應用于自然語言處理…

深入解析分布式訓練基石:ps-lite源碼實現原理

分布式機器學習框架是現代推薦、廣告和搜索系統的核心支撐。面對海量訓練數據和高維稀疏特征&#xff0c;參數服務器&#xff08;Parameter Server, PS&#xff09; 架構應運而生。作為早期經典實現的ps-lite因其簡潔性和完整性&#xff0c;成為理解PS原理的絕佳切入點。本文將…