miriamdepaula

WordPress: Custom Fields metadata for Attachments

Jan 24th, 2012
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.55 KB | None | 0 0
  1. <?php
  2. /**
  3.  * Add Alternative Attachment URL field to media uploader
  4.  *
  5.  * @param $form_fields array, fields to include in attachment form
  6.  * @param $post object, attachment record in database
  7.  * @return $form_fields, modified form fields
  8.  */
  9.  
  10. function attachment_field_metadata( $form_fields, $post ) {
  11.    
  12.     $form_fields['attachment-alternative-url'] = array(
  13.         'label' => 'URL Alternativa',
  14.         'input' => 'text',
  15.         'value' => get_post_meta( $post->ID, '_attachment_alternative_url', true ),
  16.         'helps' => 'Se for necessário, esta imagem poderá ter um link alternativo. Não esqueça do http://',
  17.     );
  18.  
  19.     //adicione quantos campos forem necessários, sempre seguindo o padrão acima, tendo o cuidado de usar um nome diferente para cada campo
  20.    
  21.     return $form_fields;
  22. }
  23.  
  24. add_filter( 'attachment_fields_to_edit', 'attachment_field_metadata', 10, 2 );
  25.  
  26. /**
  27.  * Save values of Alternative Attachment URL in media uploader
  28.  *
  29.  * @param $post array, the post data for database
  30.  * @param $attachment array, attachment fields from $_POST form
  31.  * @return $post array, modified post data
  32.  */
  33.  
  34. function attachment_field_metadata_save( $post, $attachment ) {
  35.     if( isset( $attachment['attachment-alternative-url'] ) )
  36.         update_post_meta( $post['ID'], '_attachment_alternative_url', $attachment['attachment-alternative-url'] );
  37.        
  38.         //se estiver criando mais de um campo, lembre-se de inseri-los aqui também, seguindo o padrão acima, para que sejam salvos.
  39.    
  40.     return $post;
  41. }
  42.  
  43. add_filter( 'attachment_fields_to_save', 'attachment_field_metadata_save', 10, 2 );
  44. ?>
Advertisement
Add Comment
Please, Sign In to add comment