找到WooCommerce可下载产品文件的src,以便在Audio Shortcode中显示

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

我要做的是将默认的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文件。

php wordpress audio woocommerce shortcode
1个回答
0
投票

我使用以下代码来显示音频文件

$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错误。它是一种可下载的商业电子商务访问安全功能。也许您需要在每个产品中手动嵌入音频文件。

© www.soinside.com 2019 - 2024. All rights reserved.