Thickbox predeterminado (grande y feo)
No me gusta cómo se ve esta página de Thickbox, casi nunca uso todos estos campos de configuración, así que decidí deshacerme de ellos, al menos en las páginas donde estoy subiendo imágenes como opciones de tema.
UnaThickbox(muy)simple
Usando
Siteestáspreguntandocómohacerlo(estosfiltros/ganchosestánmalexplicados),aquíestáelcódigo:
functionthickbox_fields($form_fields,$post){unset($form_fields['post_title'],//disables"Title" field and so forth...
$form_fields['url'] );
$form_fields['image_alt'],
$form_fields['post_excerpt'],
$form_fields['post_content'],
$form_fields['align'],
$form_fields['image-size'],
);
return $form_fields;
}
function thickbox_upload_init(){
add_filter('attachment_fields_to_edit', 'thickbox_fields', 10, 2);
}
add_action('admin_init', 'thickbox_upload_init');
El problema
Desafortunadamente, después de eliminar los campos de url y tamaño de imagen, no estoy seguro de cómo sobrescribir sus valores con el contenido deseado (en este caso, la url y el tamaño de la imagen están "completos", siempre).
Estoy subiendo cosas basadas en este tutorial simple pero poderoso usando este código en la página de administración:
jQuery(document).ready(function() {
jQuery('#upload_image_button').click(function() {
formfield = jQuery('#upload_image').attr('name');
tb_show('', 'media-upload.php?type=image&TB_iframe=true');
return false;
});
window.send_to_editor = function(html) {
imgurl = jQuery('img',html).attr('src'); //imgurl is always empty after deleting url field
jQuery('#upload_image').val(imgurl);
tb_remove();
}
});
Y, como indica el comentario, imgurl = jQuery('img',html).attr('src')
está vacío, además, cuando deshabilito solo el tamaño de la imagen y dejo solo la URL: su tamaño siempre se establece en "medio". ¿Alguna idea de cómo solucionarlo?
Estaba intentando pasar la URL y el tamaño de la imagen de esta manera:
function thickbox_fields($form_fields, $post){
unset(
$form_fields['post_title'], //disables "Title" field and so forth...
$form_fields['url'] );
$form_fields['image_alt'],
$form_fields['post_excerpt'],
$form_fields['post_content'],
$form_fields['align'],
$form_fields['image-size'],
);
$form_fields['url'] = 'not sure how to get the url here, but this doesnt work anyways';
$form_fields['image-size'] = 'full'; //yup, this also doesn't work at all
return $form_fields;
}
Sé que estos campos son matrices, pero $form_fields['image-size'] = array('size' => 'full')
, tampoco funciona.
¿Alguna sugerencia?
TL; DR : ¿cómo ocultar los campos de url y tamaño de imagen de Thickbox y luego enviar el valor de los campos de url al front-end? Además, cómo forzar a Thickbox para que cargue los archivos como "completos", porque con el tamaño de la imagen sin establecer, devuelve enlaces a las subidas de tamaño medio todo el tiempo.
Supongo que el filtro image_size_input_fields podría ser útil.