Tôi đang cố gắng lập trình thêm nhiều hình ảnh vào thư viện phương tiện, tôi đã tải hình ảnh lên wp-content/uploads
, bây giờ tôi thử sử dụng wp_insert_attachement
.
Đây là mã, tuy nhiên nó không hoạt động như mong đợi, tôi nghĩ siêu dữ liệu không được tạo đúng cách, tôi có thể thấy các tệp trong thư viện phương tiện, nhưng không có hình thu nhỏ, nếu tôi chỉnh sửa hình ảnh, tôi gặp lỗi khi tải lên lại hình ảnh .
$filename_array = array(
'article1.jpg',
'article2.jpg',
);
// The ID of the post this attachment is for.
$parent_post_id = 0;
// Get the path to the upload directory.
$wp_upload_dir = wp_upload_dir();
foreach ($filename_array as $filename) {
// Check the type of file. We'll use this as the 'post_mime_type'.
$filetype = wp_check_filetype( basename( $filename ), null );
// Prepare an array of post data for the attachment.
$attachment = array(
'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ),
'post_mime_type' => $filetype['type'],
'post_title' => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ),
'post_content' => '',
'post_status' => 'inherit'
);
// Insert the attachment.
$attach_id = wp_insert_attachment( $attachment, $filename, $parent_post_id );
// Make sure that this file is included, as wp_generate_attachment_metadata() depends on it.
require_once( ABSPATH . 'wp-admin/includes/image.php' );
// Generate the metadata for the attachment, and update the database record.
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );
}