WordPress Importer (WordPress 內容匯入程式)

外掛說明

WordPress 內容匯入程式能從 WordPress 資料匯出檔中匯入以下內容:

  • 文章、頁面以及其他自訂內容類型
  • 留言及留言中繼資料
  • 自訂欄位及文章中繼資料
  • 分類、標籤、自訂分類法詞彙及其對應中繼資料
  • 作者

如需進一步瞭解相關資訊及說明,請參閱〈匯入內容〉線上說明。

篩選器

匯入程式所提供的篩選器能讓你完全啟用/封鎖某些功能:

  • import_allow_create_users:如果只是要對應至現有使用者,會傳回 false。
  • import_allow_fetch_attachments:如果不開放匯入及下載附件,會傳回 false。
  • import_attachment_size_limit:傳回最大檔案檔案大小的整數值,並以位元組 (Bytes) 為單位進行儲存。預設值為 0,代表不限制。

還有以下動作勾點可供使用:

  • import_start:上傳資料匯出檔及選取匯入作者設定後會出現。
  • import_end:內容匯入程式完成匯入便會呼叫。

安裝方式

安裝匯入程式最快的方式如下:

  1. 在 WordPress 控制台左側選單中,點擊 [工具] [匯入程式]。
  2. 點擊內容匯入程式清單中的 WordPress 連結。
  3. 點擊 [立即安裝]。
  4. 最後,點擊 [啟用外掛並執行匯入程式]。

如果偏好進行手動安裝,請依照以下步驟進行操作:

  1. wordpress-importer 資料夾上傳至 /wp-content/plugins/ 目錄。
  2. 在 WordPress 管理後台的 [外掛] 選單中啟用外掛。
  3. 到 [工具] [匯入程式] 頁面中,點擊 WordPress 連結。

常見問題集

我遇到主機記憶體錯誤或空白畫面,亟需協助!

如果要匯入的檔案大小非常大,匯入指令碼執行時可能會遇到主機限制 PHP 記憶體使用量的問題。

出現類似 [Fatal error: Allowed memory size of 8388608 bytes exhausted] 的訊息時,便表示在目前的 PHP 記憶體限制下,指令碼無法成功匯入 XML 檔案。如果你在主機上擁有變更 php.ini 檔案的權限 (詳情請洽詢主機商),你便能手動調高記憶體限制值;一般來說,如果是安裝於共享主機的 WordPress 網站,你便沒有權限變更 php.ini 中的設定值,這時你需要將 XML 檔案匯出成數個較小的檔案,然後才執行匯入指令碼一一匯入。

對於這種無法變更 PHP 環境設定值的共享主機,最好的選擇是洽詢主機技術支援提供協助,以便確定執行匯入最安全的作法。主機商可能會暫時解除主機記憶體限制,或由他們那端直接執行相關程序。

技術支援文章:匯入內容

使用者評論

2020 年 6 月 17 日
I'm giving this two stars not one, because previous attempts left half the images behind, but I have now at least managed to get all the posts and all the images into the new WordPress site... from the previous WordPress.com site. Horrible though. Had to split a relatively small blog (55 posts) into 11 blocks, get my host to raise the timeout massively, change PHP settings, deactivate everything in sight... and I still had to push through 503 errors, STILL getting timeouts after (e.g.) 10 minutes importing a block of 5 posts, re-running several of the imports... But the worst thing is that it pulled down two copies of each image, creating a second unattached copy of the thumbnail and displaying that rather than the 'real' image, which is then viewable by clicking on the thumbnail. Some thumbnails also then displayed bigger than they are, so fuzzy too. Going to have to go through every post manually, replacing the 'ghost' image with the real one, and then deleting it. Just hoping ALL the images really are there. If it turns out the blog author didn't always link to the media file, I may find some are missing and have to back and look for them. Horrible horrible horrible... and that's going from a WordPress blog to a WordPress blog... what can be so hard?!
2020 年 5 月 25 日
Dear Team Plugin is working fine, great work, I would like to suggestion if allow more data file size it will great help for people. This time plugin have (Maximum size: 4 MB) that is not enough. Please increase file size to make more useful Thank you
2020 年 3 月 30 日
Importing a couple dozen posts including attachments: ✓ Importing a couple dozen pages including attachments: ✓ Importing ~100 media files including attachments: ✗ HTTP 503. I've tried disabling leech & hotlinking protection on the source domain. I've tried increasing the PHP memory_limit to 512MB, max_execution_time to 0 (unlimited), max_input_time to -1 (same as max_ececution_time), post_max_size to 128MB, upload_max_filesize to 128MB. Note that the media files I was attempting to import were less than 100MB combined. But I kept getting a HTTP 503. The way I eventually got around it was as follows: start the import of media, including attachments. When it fails, do it again, but this time without attachments. You will get a list showing you which media files were actually imported already and which haven't been imported. Now edit the xml file and remove all entries (delimited by <item>…</item>) that have already been imported. Start the media import again, with the edited xml file and include attachments. If it fails again, repeat the import but without attachments. Note files already imported, remove from xml file, rinse and repeat. Tedious? Perhaps. This plugin's fault? I honestly don't know. My cheap hoster's fault? Entirely possible. My skills not being as good as I think they are? Definitely an option. But was it the quickest way to get the job done? Yes, for me it was. Hopefully this information can help someone else. Or perhaps at least it'll help the plugin author to make this plugin more foolproof 😉
2020 年 2 月 7 日
Timing out on a perfectly healthy VPS after importing only 25 posts and their media attachments. Have to workaround by migrating to a locally hosted site, then using a working migrator tool to the online site. Could there be an option to split XML into smaller chunks? I realise this is difficult to get to work everywhere, but I always advise people starting out a website and not sure how much effort they will put in to start a wordpress.com site, and its easy to upgrade. Thats a big part of what makes wordpress such a great platform for all kinds of users. When its so difficult to migrate to a self hosted wordpress, then its the opposite just a pain in the butt.
閱讀全部 290 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈WordPress Importer (WordPress 內容匯入程式)〉的開發相關工作。

參與者

WordPress Importer (WordPress 內容匯入程式) 外掛目前已有 55 個本地化語言版本。 感謝全部譯者為這個外掛做出的貢獻。

將 WordPress Importer (WordPress 內容匯入程式) 外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

0.7

  • Update minimum WordPress requirement to 3.7 and ensure compatibility with PHP 7.4.
  • Fix bug that caused not importing term meta.
  • Fix bug that caused slashes to be stripped from imported meta data.
  • Fix bug that prevented import of serialized meta data.
  • Fix file size check after download of remote files with HTTP compression enabled.
  • Improve accessibility of form fields by adding missing labels.
  • Improve imports for remote file URLs without name and/or extension.
  • Add support for wp:base_blog_url field to allow importing multiple files with WP-CLI.
  • Add support for term meta parsing when using the regular expressions or XML parser.
  • Developers: All PHP classes have been moved into their own files.
  • Developers: Allow to change IMPORT_DEBUG via wp-config.php and change default value to the value of WP_DEBUG.

0.6.4

  • Improve PHP7 compatibility.
  • Fix bug that caused slashes to be stripped from imported comments.
  • Fix for various deprecation notices including wp_get_http() and screen_icon().
  • Fix for importing export files with multiline term meta data.

0.6.3

  • Add support for import term metadata.
  • Fix bug that caused slashes to be stripped from imported content.
  • Fix bug that caused characters to be stripped inside of CDATA in some cases.
  • Fix PHP notices.

0.6.2

0.6

  • Support for WXR 1.2 and multiple CDATA sections
  • Post aren’t duplicates if their post_type’s are different

0.5.2

  • Double check that the uploaded export file exists before processing it. This prevents incorrect error messages when
    an export file is uploaded to a server with bad permissions and WordPress 3.3 or 3.3.1 is being used.

0.5

  • Import comment meta (requires export from WordPress 3.2)
  • Minor bugfixes and enhancements

0.4

  • Map comment user_id where possible
  • Import attachments from wp:attachment_url
  • Upload attachments to correct directory
  • Remap resized image URLs correctly

0.3

  • Use an XML Parser if possible
  • Proper import support for nav menus
  • … and much more, see Trac ticket #15197

0.1

  • Initial release