Sto scrivendo un tema / plug-in personalizzato in cui devo scaricare le immagini in modo programmatico da determinate pagine Web nella cartella di caricamento e quindi inserirle come parte del post.
Quindi, sono stato in grado di trovare l'URL dell'immagine a livello di codice e quindi devo salvarli nella cartella di caricamento in wp-content, tuttavia quella cartella ha una struttura di cartelle WordPress specifica al suo interno per le immagini salvate.
Ora la mia domanda è: esiste un'API WordPress o una funzione o un metodo che mi permetterà di scaricare immagini dal Web e salvarle nella cartella dei caricamenti? E se è così, che cos'è.
Altrimenti, cosa devo fare per salvare quelle immagini?
Finora lo sto facendo
$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 );
Ma il codice sopra mi sta dando il seguente errore
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
E dopo ulteriori indagini, sembra che l'errore sia causato da
$attachment_data = wp_generate_attachment_metadata( $attachment_id, $image_file_name );
E dopo ulteriori indagini, la documentazione per gli wp_insert_attachment()
stati che The file MUST be on the uploads directory
per quanto riguarda il$image_file_name
Quindi, come posso scaricare un'immagine e salvarla nel mio post correttamente?
Molte grazie.