Neatek logo logotype
AdminVPS hosting

Нужно разработать сайт, или сделать разовую поддержку сервера? Или перенести сайт?

Технический специалист всегда поможет, расскажет, исправит неисправляемое.

Написать также можно в Telegram @neatekbot

Сделай заказ прямо сейчас

WordPress — Вставка в медиафайлы картинки с удаленного ресурса

Данный сниппет (кусок кода) поможет вам вставить картинку, или файл с удаленного ресурса, его можно переписать для других типов файлов, не только картинок. Соответственно если вам нужно скачать откуда-то картинку и поставить её как миниатюру к записи то можно воспользоваться им.

function insert_remoteimage_to_post($post_id = -1, $url = '', $post_title = '', $setthumbnail = false) {
$filename = time().rand(1000,9999).'neatekalbum.jpg';
file_put_contents($filename, fopen($url, 'r'));
$upload = wp_upload_bits( $filename, null, file_get_contents($filename) );
unlink($filename);
if ( empty($upload['error']) ) {
$parent_post_id = $post_id;
if(empty($post_title)) {
$post_title = preg_replace( '/\.[^.]+$/', '', basename( $filename ) );
}
$filename = $upload['file'];
$filetype = wp_check_filetype( $filename, null );
$attachment = array(
'guid'           => $upload['url'],
'post_mime_type' => $upload['type'],
'post_title'     => $post_title,
'post_content'   => '',
'post_status'    => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $filename, $parent_post_id );
require_once( ABSPATH . 'wp-admin/includes/image.php' );
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
if(!empty($attach_data)) {
wp_update_attachment_metadata( $attach_id, $attach_data );
if($setthumbnail == true) {
set_post_thumbnail( $parent_post_id, $attach_id );
return $attach_id;
}
}
}
return false;
}

Оцените данную статью

КолДваТриЧетыреОтлично! (3 оценок, средне: 5,00 из 5)