問題描述
我參與了從另一個 CMS 到 WordPress 的大型遷移。我們有一個資料庫的副本,並已經制定瞭如何提取內容,並以程式設計方式使用 wpdb 類的例項從其建立 WordPress 帖子。
然而,有幾千張影像,我們想自動拉扯,生成各種尺寸,然後附加到帖子,以節省大約一個星期的工作!
有沒有辦法可以透過 URL 從遠端站點獲取影像並儲存在我的 wp-uploads 資料夾中?我猜這個使用 wp_http,但我不熟悉。
一旦我得到影像並儲存它,我可以使用 wp_generate_attachment_metadata 建立各種大小和 wp_insert_attachment 附加到一個帖子。
謝謝西蒙
最佳解決方案
實際上有一個很好的功能,可以為你做所有這三件事情:
media_sideload_image( $url, $post_id, $description );
第一個引數是要下載的影像的遠端 URL 。第二個引數是要附加影像的帖子的帖子 ID 。第三個引數是可選的,但如果包含說明,則是一個描述。
我建議找到一種方法來限制下載,以便您不要停止超時,例如限制每次載入時提取的影像數量,並設定匯入器在下載之間重新整理自身,或使用 AJAX 來執行它們一次非同步。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。