Sie können verwenden wp_generate_attachment_metadata
:
Diese Funktion generiert Metadaten für einen Bildanhang. Außerdem werden eine Miniaturansicht und andere Zwischengrößen des Bildanhangs basierend auf den auf dem Bildschirm "Settings_Media_Screen" definierten Größen erstellt.
Das zweite Argument des Filters ist die Anhangs-ID, daher sollte es kein Problem sein, das Post-Meta hinzuzufügen:
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;
}
$metadata['image_meta']
Wenn Sie den Inhalt von FirePHP überprüfen, sind dies die Ergebnisse:
aperture: 4
camera: "DMC-FZ100"
caption: ""
copyright: ""
created_timestamp: 1352136868
credit: ""
focal_length: "9.2"
iso: "100"
shutter_speed: "0.003125"
title: "Double Dip"
[Update]
Vollständiger Test zum Hinzufügen einer benutzerdefinierten Spalte im Bildschirm "Medienbibliothek" ( /wp-admin/upload.php
), um die Post-Meta-Informationen anzuzeigen:
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;
}
Etwas verwandte Fragen und Antworten: Erstellen Sie beim Speichern eine neue Kategorie basierend auf den Post-Informationen