Php 订单号作为文件名wordpress/woocommerce

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

我在woocommerce中使用wordpress,并且我已经安装了一个文件上传插件,在下订单时将其放入结帐页面。我需要这个上传者将上传文件的名称更改为当前的订单号。看图片

通过上传将订单号作为文件名

这将在前端站点中输入商业订单号

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

非常确定上传文件后不能更改文件名。好吧,但无论如何很容易。有一个插件。上传是否在订单完成之前进行?在这种情况下,将提供订单号。如果您正在上载并添加媒体附件,那么我认为您可以更改附件标题。我想在上载之前更改它。当订单已经下好时,上传的可能性就出现了,这意味着我看到了订单号,而且订单号已经在数据库中了。然后是上传表单,为了能够识别当前文件所属的订单,我需要通过上传订单号来更改名称。它不是某个表单的附件,它是一个在下订单后可用的上传字段。非常确定在上传后你不能更改文件名。好吧,但无论如何很容易。有一个插件。上传是否在订单完成之前进行?在这种情况下,将提供订单号。如果您正在上载并添加媒体附件,那么我认为您可以更改附件标题。我想在上载之前更改它。当订单已经下好时,上传的可能性就出现了,这意味着我看到了订单号,而且订单号已经在数据库中了。然后是上传表单,为了能够识别当前文件所属的订单,我需要通过上传订单号来更改名称。它不是某种形式的附件,而是下订单后可用的上传字段。