Bueno amigo lo coloque de esta forma pero no me funciona, me puedes decir donde me equivoco?
Código PHP:
Ver original//Imagen de portada
function portada_add_custom_user_profile_fields( $user ) {
?>
<br />
<script type="text/javascript">
$('.add_img').click(function(){
var input_img = $(this).next();
var frame = wp.media({
title : 'Seleccionar imagen',
multiple : false,
library : { type : 'image'},
button : { text : 'Insert' }
});
frame.on('select',function() {
attachment = frame.state().get('selection').first().toJSON();
input_img.val(attachment['url']);
});
frame.open();
});
</script>
<table class="form-table">
<tbody>
<tr>
<th style="margin:15px;"><label for="portada">Imagen de portada</label></th>
<th style="float:left;width:50%;">
<input type="text" name="portada" id="portada" value="<?php echo esc_attr( the_author_meta( 'portada', $user->ID ) ); ?>" class="regular-text"><br />Coloca el enlace de tu imagen de portada tamaño recomendado 1010x310.</th>
<th><input type="button" class="add_img" name="add_img" value="add_img" onclick="wp_enqueue_media()" /></th>
</tr>
</tbody>
</table>
<?php }
function portada_save_custom_user_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return FALSE;
update_usermeta( $user_id, 'portada', $_POST['portada'] );
}
add_action('admin_enqueue_scripts', 'nportada_add_custom_user_profile_fields');
add_action( 'show_user_profile', 'portada_add_custom_user_profile_fields' );
add_action( 'edit_user_profile', 'portada_add_custom_user_profile_fields' );
add_action( 'personal_options_update', 'portada_save_custom_user_profile_fields' );
add_action( 'edit_user_profile_update', 'portada_save_custom_user_profile_fields' );