Возможен дубликат этого вопроса .Для этого вам нужно использовать множество встроенных функций WordPress:
wp_insert_attachment()
set_post_thumbnail()
wp_generate_attachment_metadata()
wp_update_attachment_metadata()
wp_insert_attachment()
, вероятно, самая важная функция, так как она возвращает идентификатор вашего вложения (изображения).set_post_thumbnail()
затем использует этот идентификатор вложения и идентификатор вашего сообщения, чтобы установить изображение в качестве избранного изображения в сообщении.
Когда я делал это в прошлом, я также обнаружил, что мне нужно использовать функции метаданных.выше, чтобы правильно назначить изображение, которое было из памяти для удаления сообщений из импорта и их связанных изображений.Полный пример этого см. Здесь
file_put_contents($oldfile, $image_data);
rename( $oldfile, $newfile );
$wp_filetype = wp_check_filetype($filename, null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => sanitize_file_name($filename),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $newfile, $post_id );
if ( $set_thumb ) {
$res2= set_post_thumbnail( $post_id, $attach_id );
}
$attach_data = wp_generate_attachment_metadata( $attach_id, $newfile );
$update_attach_metadata = wp_update_attachment_metadata( $attach_id, $attach_data );