Saya menulis tema / plugin khusus di mana saya perlu mengunduh gambar secara programatik dari halaman web tertentu ke folder unggah dan kemudian menyisipkannya sebagai bagian dari posting.
Jadi, saya dapat menemukan url gambar secara terprogram, dan kemudian saya perlu menyimpannya ke folder unggah di bawah konten-wp, namun folder itu memiliki struktur folder WordPress khusus di dalamnya untuk gambar yang disimpan.
Sekarang pertanyaan saya adalah, apakah ada WordPress API atau fungsi atau metode yang memungkinkan saya untuk mengunduh gambar dari web dan menyimpannya ke folder unggahan? Dan jika demikian, apa itu.
Kalau tidak, apa yang harus saya lakukan untuk menyimpan gambar-gambar itu?
Sejauh ini, saya melakukan ini
$filetype = wp_check_filetype(basename($image_file_name), null );
$upload_dir = wp_upload_dir();
$attachment = array(
'guid' => $upload_dir['url'] . '/' . basename( $image_file_name ),
'post_mime_type' => $filetype['type'],
'post_title' => preg_replace('/\.[^.]+$/', '', basename($image_file_name)),
'post_content' => '',
'post_status' => 'inherit'
);
$attachment_id = wp_insert_attachment( $attachment, $image_file_name, $post_id );
$attachment_data = wp_generate_attachment_metadata( $attachment_id, $image_file_name );
wp_update_attachment_metadata( $attachment_id, $attachment_data );
set_post_thumbnail( $post_id, $attachment_id );
Tetapi kode di atas memberi saya kesalahan berikut
imagejpeg(http://wscdn.bbc.co.uk/worldservice/assets/images/2013/07/21/130721173402_egypts_new_foreign_minister_fahmy_304x171_reuters-150x150.jpg): failed to open stream: HTTP wrapper does not support writeable connections in C:\dev\wordpress\pterodactylus\wp-includes\class-wp-image-editor.php on line 334
Dan setelah diselidiki lebih lanjut, sepertinya kesalahan itu disebabkan oleh
$attachment_data = wp_generate_attachment_metadata( $attachment_id, $image_file_name );
Dan setelah penyelidikan lebih lanjut, dokumentasi untuk wp_insert_attachment()
menyatakan bahwa The file MUST be on the uploads directory
sehubungan dengan$image_file_name
Jadi, bagaimana cara mengunduh gambar dan menyimpannya ke posting saya dengan benar?
Terima kasih banyak.