默认(又大又丑)Thickbox我根本不喜欢这个Thickbox的页面外观,我几乎从来没有使用过所有这些设置字段,所以我决定去掉它们,至少在我上传图像作为主题选项的页面上。
如果您想知道如何做到这一点(这些过滤器/挂钩解释得很糟糕),下面是代码:
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\'],
);
return $form_fields;
}
function thickbox_upload_init(){
add_filter(\'attachment_fields_to_edit\', \'thickbox_fields\', 10, 2);
}
add_action(\'admin_init\', \'thickbox_upload_init\');
不幸的是,在删除图像大小和url字段后,我不知道如何用所需的内容覆盖其值(在这种情况下,url和图像大小始终设置为“完整”)。
我正在上传基于this simple yet powerful tutorial 在管理页面上使用此代码:
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();
}
});
和作为注释状态
imgurl = jQuery(\'img\',html).attr(\'src\')
只是空的,另外,当我禁用图像大小而不使用url时,它的大小总是设置为“中等”,有什么办法可以解决吗?
我试图传递URL和图像大小,如下所示:
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;
}
我知道这些字段是数组,但是
$form_fields[\'image-size\'] = array(\'size\' => \'full\')
, 也不起作用。
有什么提示吗?
TL;DR - 如何从Thickbox中隐藏url和图像大小字段,然后将url字段的值发送到前端?此外,如何强制Thickbox将文件上载为“完整”,因为在图像大小未设置的情况下,它会始终返回指向中型上载的链接。
我想image\\u size\\u input\\u fields过滤器可能会有所帮助。
最合适的回答,由SO网友:Bainternet 整理而成
很棘手,但一旦您了解WordPress是如何设置大小和字段的,那么剩下的就很简单了:
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\']
);
//create the size input for full only and set display to none
$size = \'full\';
$css_id = "image-size-{$size}-{$post->ID}";
$html = "<div style=\'display: none;\' class=\'image-size-item\'><input type=\'radio\' name=\'attachments[$post->ID][image-size]\' id=\'{$css_id}\' value=\'{$size}\'checked=\'checked\' /></div>";
//set as image-size field
$form_fields[\'image-size\'] = array(
\'label\' => \'\', //leave with no label
\'input\' => \'html\', //input type is html
\'html\' => $html //the actual html
);
return $form_fields;
}
首先,删除所有不需要的字段,然后模仿WordPress创建大小字段的方式,但仅将full作为所选选项,然后使用
display:none
然后以WordPress接受的方式将其添加到字段数组中,正如您所看到的,它不仅是一个简单的字符串,而且是一个参数数组(标签、输入、html)
现在是真正的问题:照片中的女孩是谁???