Tôi đang tạo các tệp tùy chỉnh trong một plugin và thêm chúng vào Thư viện phương tiện bằng mã được cung cấp trong Codpress Wordpress cho wp_insert_attachment. Tuy nhiên, plugin của tôi thỉnh thoảng ghi đè lên các tệp đó. Tôi cần đảm bảo rằng các tệp không được thêm lại vào Thư viện phương tiện. Đây là mã hiện tại:
$wp_filetype = wp_check_filetype(basename($filename), null );
$wp_upload_dir = wp_upload_dir();
$attachment = array(
'guid' => $wp_upload_dir['baseurl'] . '/' . _wp_relative_upload_path( $filename ),
'post_mime_type' => $wp_filetype['type'],
'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $filename);
// you must first include the image.php file
// for the function wp_generate_attachment_metadata() to work
require_once(ABSPATH . 'wp-admin/includes/image.php');
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );
Tôi chỉ cần kiểm tra xem tập tin đã là một phần của Thư viện phương tiện hay chưa và cập nhật nó nếu có. Tôi không có post_id để làm việc, chỉ có permalink và hướng dẫn.
Cảm ơn bạn đã giúp đỡ.