Bạn có thể sử dụng wp_generate_attachment_metadata
:
Hàm này tạo siêu dữ liệu cho tệp đính kèm hình ảnh. Nó cũng tạo ra một hình thu nhỏ và các kích thước trung gian khác của tệp đính kèm hình ảnh dựa trên các kích thước được xác định trên Settings_Media_Screen.
Đối số thứ hai của bộ lọc là ID tệp đính kèm, do đó không nên thêm vấn đề khi thêm meta bài đăng:
add_filter( 'wp_generate_attachment_metadata', 'manipulate_metadata_wpse_91177', 10, 2 );
function manipulate_metadata_wpse_91177( $metadata, $attachment_id )
{
// var_dump( $metadata['image_meta'] );
// Credit is inside $metadata['image_meta']['credit']
return $metadata;
}
Kiểm tra nội dung của $metadata['image_meta']
với FirePHP, đây là các kết quả:
aperture: 4
camera: "DMC-FZ100"
caption: ""
copyright: ""
created_timestamp: 1352136868
credit: ""
focal_length: "9.2"
iso: "100"
shutter_speed: "0.003125"
title: "Double Dip"
[Cập nhật]
Kiểm tra đầy đủ thêm một cột tùy chỉnh trong màn hình Thư viện phương tiện ( /wp-admin/upload.php
) để hiển thị thông tin meta bài đăng:
add_filter( 'wp_generate_attachment_metadata', 'manipulate_metadata_wpse_91177', 10, 2 );
add_filter( 'manage_upload_columns', 'camera_info_column_wpse_91177' );
add_action( 'manage_media_custom_column', 'camera_info_display_wpse_91177', 10, 2 );
function manipulate_metadata_wpse_91177( $metadata, $attachment_id )
{
update_post_meta( $attachment_id, 'photo_title', $metadata['image_meta']['title'] );
update_post_meta( $attachment_id, 'photo_camera', $metadata['image_meta']['camera'] );
return $metadata;
}
function camera_info_column_wpse_91177( $columns )
{
$columns['cam_info'] = 'Camera Info';
return $columns;
}
function camera_info_display_wpse_91177( $column_name, $post_id )
{
if( 'cam_info' != $column_name || !wp_attachment_is_image( $post_id ) )
return;
$title = get_post_meta( $post_id, 'photo_title', true );
$camera = get_post_meta( $post_id, 'photo_camera', true );
$echo_title = $title ? 'Title: ' . $title . '<br />' : '';
$echo_camera = $camera ? 'Camera: ' . $camera : '';
echo $echo_title . $echo_camera;
}
Một số câu hỏi và trả lời liên quan: Tạo danh mục mới khi lưu dựa trên thông tin bài đăng