問題描述
我參與了從另一個 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。