Đây là chức năng cho phép thiết lập ảnh thumbnail cho bài viết từ link ảnh bên ngoài. Trường hợp bạn viết giao diện và cho phép người dùng thiết lập ảnh thumbnail tự động.
$image_url = 'http://domain.com/url-hinh-anh.jpg'; $image_name = basename( $thumbnail ); $upload_dir = wp_upload_dir(); $image_data = file_get_contents( $image_url ); $unique_file_name = wp_unique_filename( $upload_dir['path'], $image_name ); $filename = basename( $unique_file_name ); if ( wp_mkdir_p( $upload_dir['path'] ) ) { $file = $upload_dir['path'] . '/' . $filename; } else { $file = $upload_dir['basedir'] . '/' . $filename; } file_put_contents( $file, $image_data ); $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, $file, $post_id ); if ( ! function_exists( 'wp_generate_attachment_metadata' ) ) { require_once( ABSPATH . 'wp-admin/includes/image.php' ); } $attach_data = wp_generate_attachment_metadata( $attach_id, $file ); wp_update_attachment_metadata( $attach_id, $attach_data ); set_post_thumbnail( $post_id, $attach_id );
Lấy ảnh bên ngoài làm ảnh thumbnail
Mục đích của đoạn code trên là lưu ảnh bên ngoài vào thư mục uploads của WordPress. Sau đó thêm vào trình quản lý Media của WordPress. Cuối cùng là thiết lập ảnh vừa lưu làm thumbnail cho bài viết.
Xem thêm: Tự động set featured image cho bài viết
Đoạn code trên chỉ mang tính chất tham khảo nhé. Đây là bài viết dành cho phát triển WordPress nâng cao. Do vậy đòi hỏi bạn phải viết code. Mình không khuyến khích các bạn cóp dán mà không hiểu mục đích.
Hãy để lại bình luận của bạn để trao đổi cùng mọi người. Chúc bạn thành công.