在 Textpattern 匯入WP的文章
- Posted by Beata on 九月 13th, 2006 filed in Blog
前幾天開始安裝 Textpattern,但卻在匯入WP文章時發現一些問題。
原本以為這是因為不支援WP的文章匯入功能,還大費周章的跑去找WP文章的MT格式輸出,如 PapaScott的Export from WordPress,跟WP外掛形式的WPexport。
但看到 import_wp.php 裡所寫的代碼似乎並不是這麼一回事,明明就有 WP 文章內容的SQL查詢。
於是檢視一下 import_mtdb.php 當作參考﹔暮然發現,原來import_wp.php中少了Excerpt及Excerpt_html的欄位。
後來我將這些欄位補上去之後,Textpattern 就能正常匯入WP文章了,在這邊紀錄一下修改步驟:
textpattern/include/import/import_wp.php
» 增加 Excerpt 欄位
-
# FIND
-
".$wpdbprefix."posts.post_content as Body,
-
-
# ADD NEXT LINE
-
".$wpdbprefix."posts.post_excerpt as Excerpt,
-
-
-
# FIND
-
Body_html = ‘".addslashes($Body_html)."’,
-
-
# ADD NEXT LINE
-
Excerpt =‘".addslashes($Excerpt)."’,
-
Excerpt_html=‘".addslashes($Excerpt)."’,
» 過濾附件頁面
忘了 WP 從那一版開始,內建了附件上傳功能,而這些已經上傳過的附件將會自動建立一個附件的文章頁面,其文章的 post_status 為 attachment。
我不想讓這些附件變為 Textpattern 的文章,所以加入了過濾 attachment 的 sql 語法
-
# FIND
-
".$wpdbprefix."users.ID = ".$wpdbprefix."posts.post_author
-
-
# ADD NEXT LINE
-
WHERE ".$wpdbprefix."posts.post_status != ‘attachment’
» 開啟迴響
天哪!預設匯入wp文章的迴響是關閉的,是要叫人家手動一篇一篇開啟迴響嗎?
-
# FIND
-
".$wpdbprefix."posts.ID as ID,
-
-
# ADD NEXT LINE
-
".$wpdbprefix."posts.comment_status as Annotate,
-
-
# FIND
-
foreach($articles as $a){
-
-
# ADD NEXT LINE
-
$a[‘Annotate’] = ($a[‘Annotate’]==‘closed’)? 0: 1;
-
-
# FIND
-
feed_time=‘".substr($Posted,0,10)."’,
-
-
# ADD NEXT LINE
-
Annotate = ‘$Annotate’,
» 對應匯入的文章id為WP原來的文章id
在這邊我是先刪除txp安裝完成時即有的預設文章,再進行匯入動作
» mysql UTF8 編碼
升級到 mysql5 之後,只要安裝了新程式都會加的東西 …
-
# FIND
-
-
# ADD NEXT LINE
九月 14th, 2006 at 4:40 上午
乾脆把檔案放出來XD
十一月 12th, 2006 at 10:56 上午
能给一个修改好的完整文件吗?
不懂程序,不会改噎
谢谢了
四月 17th, 2008 at 6:01 下午
[...] 旧文 中提到的留言关闭问题已经在Textpattern · 4.0.6中得到了解决。 [...]