Manchmal kann es erwünscht sein, mehr Informationen zu einer Mediendatei zu hinterlegen, die in WordPress hochgeladen wird. Dies könnte bei einem Foto z.B. der Fotograf sein. Bei einem eBook der Autor. Bei einem Film das Genre usw.
Der Code dafür kommt idealerweise in ein eigenes Plugin. Natürlich könnte man diesen auch in die functions.php des Themes einfügen, dann wären die Informationen mit einem Wechsel des Themes aber weg und das wäre schlecht.
//Benutzerdefinierte Felder für Medienupload
function mo_medienupload_fields( $form_fields, $post ) {
$form_fields['mo-medienupload-owner'] = array(
'label' => 'Ersteller',
'input' => 'text',
'value' => get_post_meta( $post->ID, 'mo_medienupload_owner', true ),
'helps' => 'Der Ersteller des Bildes',
);
$form_fields['mo-medienupload-program'] = array(
'label' => 'Programm',
'input' => 'text',
'value' => get_post_meta( $post->ID, 'mo_medienupload_program', true ),
'helps' => 'Das Programm welches zum Erstellen des Bildes benutzt wurde.',
);
return $form_fields;
}
add_filter( 'attachment_fields_to_edit', 'mo_medienupload_fields', 10, 2 );
//Verfügbar machen der Felder im Medienuploader
function mo_medienupload_fields_backend( $post, $attachment ) {
if( isset( $attachment['mo-medienupload-owner'] ) )
update_post_meta( $post['ID'], 'mo_medienupload_owner', $attachment['mo-medienupload-owner'] );
if( isset( $attachment['mo-medienupload-program'] ) )
update_post_meta( $post['ID'], 'mo_medienupload_program', esc_url( $attachment['mo-medienupload-program'] ) );
return $post;
}
add_filter( 'attachment_fields_to_save', 'mo_medienupload_fields_backend', 10, 2 );
Um die Felder innerhalb des Loops auszugeben kann folgendes Snippet verwendet werden.
echo get_post_meta($post->ID, 'mo-medienupload-owner', true);