프로그래밍 방식으로 URL별로 이미지를 가져오고 업로드 폴더에 저장


14

다른 CMS에서 WordPress 로의 대규모 마이그레이션에 참여하고 있습니다. 우리는 데이터베이스의 사본을 가지고 있으며 wpdb클래스 의 인스턴스화를 사용하여 컨텐츠를 추출하고 프로그래밍 방식으로 WordPress 게시물을 작성하는 방법을 연구했습니다 .

그러나 일주일의 작업을 절약하기 위해 자동으로 가로 질러 다양한 크기를 생성 한 다음 게시물에 첨부하고 싶은 수천 개의 이미지가 있습니다!

URL로 원격 사이트에서 이미지를 가져 와서 wp-uploads 폴더에 저장할 수있는 방법이 있습니까? 나는 이것이 사용 wp_http한다고 생각 하지만 나는 그것에 익숙하지 않다.

이미지를 가져 와서 저장 wp_generate_attachment_metadata하면 다양한 크기를 만들고 wp_insert_attachment게시물에 첨부하는 데 사용할 수 있으므로 괜찮 습니다.

감사합니다 사이먼

답변:


29

실제로 세 가지 기능을 모두 수행하는 훌륭한 기능이 있습니다.

media_sideload_image( $url, $post_id, $description );

첫 번째 인수는 다운로드하려는 이미지의 원격 URL입니다. 두 번째 인수는 이미지를 첨부하려는 게시물의 게시물 ID입니다. 세 번째 인수는 선택 사항이지만 포함 된 경우 설명이됩니다.

로드 당 가져 오는 이미지 수를 제한하고 가져 오기 프로그램을 다운로드 사이에 새로 고치도록 설정하거나 AJAX를 사용하여 하나를 수행하는 등 시간 초과를 피할 수 있도록 다운로드를 제한하는 방법을 찾는 것이 좋습니다. 한 번에 비동기 적으로.


1
정말 환상적입니다. 정말 감사합니다. 완벽하게 작동합니다. 각 게시물을 가져온 후 키를 누를 때까지 기다렸다가 세부 사항을 수동으로 확인하고 문제가있는 부분을 기록 할 수 있도록 제한했기 때문에 조절은 문제가되지 않습니다.
Simon Blackbourn

1
첨부 파일의 ID를 다른 게시물에 연결해야했기 때문에 여기에 좋은 방법이 있습니다.
axel

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.