修复了所有数字产品 WooCommerce 的短代码下载按钮

问题描述 投票:0回答:1

我正在使用 woocommerce 并拥有“虚拟”和“可下载”产品。我想创建一个短代码来显示这些产品的“下载”按钮。因为产品太多,我希望有一个固定的短代码用于所有产品,而不是像 [download id="123"] 这样的短代码。

我尝试使用此代码并使用 [download_button] 进行简短描述,但它不起作用

function download_button_shortcode( $atts ) {
    global $product;
    $download_files = $product->get_downloads();
    $download_url = isset( $download_files[0]['file'] ) ? $download_files[0]['file'] : '';
    $button = '<a href="' . esc_url( $download_url ) . '" class="button">Download</a>';
    return $button;
}

add_shortcode( 'download_button', 'download_button_shortcode' );
php woocommerce product hook-woocommerce shortcode
1个回答
0
投票
function download_button_shortcode($atts) {
    global $product;
    $download_files = $product->get_downloads();
    if (!empty($download_files)) {
        foreach ($download_files as $key => $download_file) {
            $download_url = $download_file->get_file();
            $button = '<a href="' . esc_url($download_url) . '" class="button">Download</a>';
            return $button;
        }
    }
}

add_shortcode('download_button', 'download_button_shortcode');
© www.soinside.com 2019 - 2024. All rights reserved.