我正在尝试调整我的插件。当我添加新产品时,我想更改上传的文件名。我目前的解决方案 - 如果名称输入尚未填写,我已禁用tb_show图片上传框。这样我们就有了这个价值。在我的init.php文件中,我有这个似乎是我正在寻找的。一种编辑文件名的方法:
add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
$fileNameHere = $_POST["bv_product_num"];
$file['name'] = 'new value';
//return $files;
exit(var_dump($fileNameHere));
$fileNameHere = $_POST["bv_product"];
}
在我的create.php文件中,该文件适用于我所拥有的用户:
<script type="text/javascript">
//tb_show('', 'media-upload.php?TB_iframe=true');
/*----------------------------------------------*/
jQuery(document).ready(function() {
jQuery('.upload_image_button').click(function() {
original_send_to_editor = window.send_to_editor;
window.send_to_editor = function(html) {
hrefurl = jQuery(html).attr('href');
jQuery('#'+formfieldID).val(hrefurl);
tb_remove();
window.send_to_editor = original_send_to_editor;
}
// loads thickbox
upload_image_button =true;
formfieldID=jQuery(this).prev().attr("id");
formfield = jQuery("#"+formfieldID).attr('name');
/*
* Get values of above boxes
*/
//bv_product_num=jQuery('#bv_product_num').val();
bv_product_num=jQuery('#bv_product_num').val();
bv_product_num="this";
bv_product_iw_bulk=jQuery('#bv_product_iw_bulk').val();
bv_wg_lf_rf=jQuery('#bv_wg_lf_rf').val();//not necessary str.replace(',','.').replace(' ','')
bv_product_name=jQuery('#bv_product_name').val();
bv_pack_oz=jQuery('#bv_pack_oz').val();
fileNameHere = bv_product_num+"_"+bv_wg_lf_rf+"_"+bv_product_name+"_"+bv_pack_oz+"_oz";
//if(bv_product_num && bv_product_iw_bulk && bv_wg_lf_rf && bv_product_name && bv_pack_oz)
if(bv_product_num)
{
/*-------------------------
----------------------------
------------------------------
------------------------------
----------------------------
------------------------------
*/
/*------------------------------------------------
-------------------------------------------------
--------------------------------------------------
--------------------------------------------------
------------------------------------------------*/
tb_show('', 'media-upload.php?bv_product=+'+fileNameHere+'&type=image&TB_iframe=true');
return false;
}else{
alert("nothing");
}
//formfield = jQuery("#"+formfieldID).attr('name');
/**/
});
})
//old----------------------------------
/*jQuery(document).ready(function() {
jQuery('.upload_image_button').click(function() {
original_send_to_editor = window.send_to_editor;
window.send_to_editor = function(html) {
hrefurl = jQuery(html).attr('href');
jQuery('#'+formfieldID).val(hrefurl);
tb_remove();
window.send_to_editor = original_send_to_editor;
}
loads thickbox
upload_image_button =true;
formfieldID=jQuery(this).prev().attr("id");
formfield = jQuery("#"+formfieldID).attr('name');
tb_show('', 'media-upload.php?type=image&TB_iframe=true');
return false;
});
})*/
</script>
我要做的是将变量从我的主插件页面传递到我的init文件,以便我可以操作它们。以这种方式传递这些变量的正确流程是什么?