【问题标题】:WooCommerce: How to add download button on product page?WooCommerce:如何在产品页面上添加下载按钮?
【发布时间】:2019-01-24 19:26:13
【问题描述】:

我们在我们的电子商务网站上使用 WooCommerce 插件。我想在产品页面上添加一个按钮,允许用户免费下载 PDF 文件,而无需进入产品单页。此外,所有产品都需要有一个唯一的 PDF 文件。这可能吗?

附:我也尝试了这里的一些答案。

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    是的,这是可能的。使用metaboxioCMB2 创建单个产品元字段。创建或编辑产品时,您可以在其中上传每个产品的 pdf 文件。

    然后您可以使用 WooCommerce 钩子在此处显示 DownLoad 按钮。

    MetaBox IO 示例:

    将上述代码添加到您的functions.php 文件的底部。确保已安装并激活 metaboxio 插件。你可以去 Plugins -> Add New -> 然后用metboxio搜索然后安装并激活它。之后,您可以根据建议复制粘贴代码。

        function rox-pdf-button( $meta_boxes ) {
        $prefix = 'rox-';
    
        $meta_boxes[] = array(
            'id' => 'pdf-btn',
            'title' => esc_html__( 'Upload PDF', 'pluginrox' ),
            'post_types' => array('product' ),
            'context' => 'advanced',
            'priority' => 'default',
            'autosave' => 'true',
            'fields' => array(
                array(
                    'id' => $prefix . 'product-pdf',
                    'type' => 'file_advanced',
                    'name' => esc_html__( 'Upload PDF File', 'pluginrox' ),
                    'desc' => esc_html__( 'Here you can upload your pdf file to show on single product page', 'pluginrox' ),
                    'mime_type' => 'application/pdf',
                    'max_file_uploads' => 5,
                    'max_status' => 'true',
                    'size' => 5,
                ),
            ),
        );
    
        return $meta_boxes;
    }
    add_filter( 'rwmb_meta_boxes', 'rox-pdf-button' );
    

    在我启用了多文件上传选项的代码中,您可以像单文件上传选项一样简单。检查 metabox io 文档。

    转到您的产品,现在编辑那里的任何产品,您现在可以选择添加 PDF。

    有关如何获取上传文件 url 的更多信息,请查看this documentation

    使用 WooCommerce 单一产品挂钩在您的产品上发布下载按钮。

    显示下载按钮的示例编码:

    add_action( 'woocommerce_after_add_to_cart_form', 'rox_single_download_button', 5 );
        function rox_single_download_button() {
            $files = rwmb_meta( 'rox-product-pdf' );
            foreach ( $files as $file ) {?>
                <a href="<?php echo $file['url']; ?>"><?php echo $file['name']; ?></a>
            <?php }
        }
    

    如果您想在产品存档页面/WooCommerce 商店页面添加按钮,那么您必须在产品商店或循环挂钩上申请。

    你可以试试下面的代码,让我知道它是否有效,因为我没有在商店页面上测试过。我只在单页上进行了测试,但它应该可以工作。

    add_action('woocommerce_after_shop_loop_item', 'rox_loop_download_button', 5);
    function rox_loop_download_button() {
    global $product;
    $product_id = $product->get_id();
    $files = rwmb_meta('rox-product-pdf', '', $product_id);
    foreach ($files
    
    as $file) { ?>
            <a href="<?php echo $file['url']; ?>"><?php echo $file['name']; ?></a>
    <?php }
    }
    

    更多详情you can check this link.

    【讨论】:

    • 非常感谢代码帮助我显示了上传 pdf 按钮,但我还需要“单一产品挂钩以在您的产品上发布下载按钮”的代码。如果你能帮助我,我也会非常感激。再次感谢您。
    • 现在请检查我的答案,我已经编辑了代码,因此使用相同的代码,您可以在单个页面上显示下载按钮下方的添加到购物车按钮。
    • 它很完美,运行良好,但我需要在产品页面上显示按钮而不是在单个页面上
    • 请立即查看回复,我已编辑选项以添加到循环页面。
    • 非常感谢您,现在它完美运行,您是救生员
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 2014-11-11
    • 2021-10-04
    • 2021-07-11
    • 2018-12-16
    • 2019-12-16
    • 1970-01-01
    相关资源
    最近更新 更多