尝试在产品单页上显示产品文件大小

时间:2018-01-17 作者:Dannie Herdyawan

我有一个免费的新网站,所以所有人都可以直接在我的网站上下载文件。我正在使用woocommerce共享这些文件,现在我想在我的单个产品页面上显示文件大小。这是我的代码:

<?php
    if ( ! empty( $downloadable_files ) ) {
        foreach ( $downloadable_files as $files ) {
            foreach ( $files as $file ) {

                $downloads = $product->get_files();
                foreach( $downloads as $key => $each_download ) {

                    $path = str_replace( site_url(\'/\'), ABSPATH, esc_url($each_download["file"]) );

                    if (!empty($file[\'name\'])) {
                        echo \'<li class="nitro-line"><i class="fa fa-file-text-o mgr10"></i>\'.esc_html($file[\'name\'] ).\'&nbsp;&nbsp;-&nbsp;&nbsp;\'.size_format(filesize($path)).\'</li>\';
                    }

                }
            }
        }
    }
?>
输出如下:

example.zip  -  50MB
这段代码在localhost上工作得很好,但如果我尝试使用我的服务器,这段代码就不起作用了。如果联机,则仅显示文件名而不显示文件大小。我的代码正常吗,你能更正吗?提前感谢。。。

1 个回复
SO网友:Dannie Herdyawan

解决方案:

更改自:

$path = str_replace( site_url(\'/\'), ABSPATH, esc_url($each_download["file"]) );
收件人:

$ProductID = attachment_url_to_postid( $each_download["file"] );
$path = get_attached_file( $ProductID );
现在工作完美。。。

结束