我正在使用 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' );
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');