Php 订单号作为文件名wordpress/woocommerce
我在woocommerce中使用wordpress,并且我已经安装了一个文件上传插件,在下订单时将其放入结帐页面。我需要这个上传者将上传文件的名称更改为当前的订单号。看图片 通过上传将订单号作为文件名 这将在前端站点中输入商业订单号Php 订单号作为文件名wordpress/woocommerce,php,wordpress,file-upload,woocommerce,filenames,Php,Wordpress,File Upload,Woocommerce,Filenames,我在woocommerce中使用wordpress,并且我已经安装了一个文件上传插件,在下订单时将其放入结帐页面。我需要这个上传者将上传文件的名称更改为当前的订单号。看图片 通过上传将订单号作为文件名 这将在前端站点中输入商业订单号 在functions.php中,我将以下代码作为测试,通过上传来处理文件名: add_filter('wfu_before_file_upload', 'wfu_before_file_upload_handler', 10, 2); function wfu
在functions.php中,我将以下代码作为测试,通过上传来处理文件名:
add_filter('wfu_before_file_upload', 'wfu_before_file_upload_handler', 10, 2);
function wfu_before_file_upload_handler($file_path, $file_unique_id) {
// separate file name from file path
$only_filename = basename($file_path);
$only_filepath = substr($file_path, 0, - strlen($only_filename));
// separate file extension from file name
$dot_pos = strrpos($only_filename, ".");
if ( $dot_pos ) {
$ext_part = substr($only_filename, $dot_pos);
$name_part = substr($only_filename, 0, $dot_pos);
}
// add timestamp to the end of name_part
$current_datetime = gmdate("U");
$only_filename = $name_part . "-" . gmdate("YmdHis", $current_datetime) . $ext_part;
// return the full file path
$file_path = $only_filepath . $only_filename;
return $file_path;
}
这实际上是以插件开发者为例,如何用wordpress过滤器处理上传文件的文件名
我想使用$current\u order\u number
而不是$current\u datetime
,但如何从数据库中获取当前订单号?我试过以下几点:
$order = get_order_number();
$current_order_number = $order;
$new_filename = $current_order_number . $ext_part;
// return the full file path
$file_path = $only_filepath . $new_filename;
return $file_path;
但它不起作用。通过上传文件,我仍然收到错误消息。知道我做错了什么吗
多谢各位
Tomas非常确定上传文件后不能更改文件名。好吧,但无论如何很容易。有一个插件。上传是否在订单完成之前进行?在这种情况下,将提供订单号。如果您正在上载并添加媒体附件,那么我认为您可以更改附件标题。我想在上载之前更改它。当订单已经下好时,上传的可能性就出现了,这意味着我看到了订单号,而且订单号已经在数据库中了。然后是上传表单,为了能够识别当前文件所属的订单,我需要通过上传订单号来更改名称。它不是某个表单的附件,它是一个在下订单后可用的上传字段。非常确定在上传后你不能更改文件名。好吧,但无论如何很容易。有一个插件。上传是否在订单完成之前进行?在这种情况下,将提供订单号。如果您正在上载并添加媒体附件,那么我认为您可以更改附件标题。我想在上载之前更改它。当订单已经下好时,上传的可能性就出现了,这意味着我看到了订单号,而且订单号已经在数据库中了。然后是上传表单,为了能够识别当前文件所属的订单,我需要通过上传订单号来更改名称。它不是某种形式的附件,而是下订单后可用的上传字段。