我要做的是将默认的Wordpress音频短代码添加到WooCommerce的content-single-product.php模板中。我知道如果没有指定,默认短代码应该找到任何附加的音频,但它不是这样的。我猜WooCommerce可下载产品处理文件附件的方式不同?
这是我目前使用的代码“
$ca_audio = $product->get_id();
$attr = array(
'src' => $ca_audio,
'loop' => '',
'autoplay' => '',
'preload' => 'none'
);
echo wp_audio_shortcode( $attr );
这只是显示产品ID而不是播放器。如果我把src留空,它会显示一个没有音频的空播放器。如果我直接链接到文件它将播放,但我需要它自动为每个帖子自动查找.mp3文件。
我使用以下代码来显示音频文件
$ca_audio = $product->get_id();
$_product = wc_get_product( $ca_audio );
$downloads = $product->get_files();
foreach( $downloads as $key => $each_download ) {
if ( strpos( $each_download["file"] , '.mp3') !== false) {
$attr = array(
'src' => $each_download["file"],
'loop' => '',
'autoplay' => '',
'preload' => 'none'
);
echo wp_audio_shortcode( $attr );
break;
}
}
音频文件已正确嵌入但未播放。当我直接打开文件时,它会给出401 Forbidden错误。它是一种可下载的商业电子商务访问安全功能。也许您需要在每个产品中手动嵌入音频文件。