WooCommerce产品下载URL

时间:2018-01-04 作者:Ellen

我正在为网格插件制作一个皮肤(https://theme-one.com/docs/the-grid/#developer_guide).

所有的产品都是虚拟的,可以下载——我已经设法实现了添加到购物车的功能,但也需要立即下载产品。文件url是否有一个元键(仔细检查了数据库,但找不到一个)或获取它的方法?

目前,我得到了一个只返回一个数组的东西:

$output .= \'<p><a href="\' . $tg_el->get_item_meta(\'_downloadable_files\') . \'" download target="_blank"><i class="fa fa-download"></i> Download Image</a></p>\';
我想我找到了一个可能的解决方案:https://wordpress.stackexchange.com/a/199884/134263 但是我对php不太在行,我不知道如何实现它。

任何指点都将不胜感激!

3 个回复
SO网友:Santanu

<?php $downloads = $product->get_files();
        foreach( $downloads as $key => $download ) {
            echo \'<p class="download-link"><a href="\' . esc_url( $download[\'file\'] ) . \'">\' . $download[\'name\'] . \'</a></p>\';
        } ?>
检查此。。为我工作。

SO网友:Dannie Herdyawan
<?php                                           
    $downloads = $product->get_files();
    foreach( $downloads as $key => $each_download ) {
        echo \'<p><a href="\'.$each_download["file"].\'" download><i class="fa fa-download"></i> Download Image</a></p>\';
    }
?>
SO网友:Amit Joshi

当我使用@dannie Herdyawans代码片段时,它显示get_files() 函数已弃用<因此,不要使用get_downloads() 作用下面列出了示例。

$downloads = $productObj->get_downloads();
if ($downloads):
    foreach ($downloads as $key => $each_download) {
        $product->productDownloadUrl = $each_download[\'file\'];
        $product->productDownloadName = $each_download[\'name\'];
    }
endif;

结束