2016-04-14 35 views
1

与销售CD的店面(WooCommerce/WordPress)一起工作,每个专辑/产品页面都有一个标准WordPress编辑器字段中已存在的有序列表中的曲目列表。现在我需要为曲目列表中的每个曲目添加音频样本。但我并不是手动添加每个音轨/播放器,而是寻求帮助在产品模板中创建一个功能,以在每个“li”元素之前(或之内)添加音频样本轨道。以下是我为了让玩家以正确的方式进入列表项目而获得的,但问题是如何让列表中的轨迹号增加。使用PHP和/或jQuery将内容添加到现有的有序列表中?

function samples_audio(){ 
    $cloudbase = 'http://domain.com'; 
    $directory = get_post_meta(get_the_ID(), 'directory', true); 
    $trackprep = 'track'; 
    $num = 0; 
    $sep = '/'; 
    $source = $cloudbase.$sep.$catno.$sep.$trackprep.$num; 
     ?> 
     <script type="text/javascript"> 
      var AudioPlayer = "<?php echo $source; ?>"; 
      var TrackNo = 0 + 1; 
      jQuery('.tracks li').before('<audio controls><source src="'+ AudioPlayer +''+ TrackNo +'.mp3" type="audio/mpeg"></audio>'); 
     </script> 
     <?php 
} 

在此先感谢您的帮助!

+0

每个产品都是我想的音轨。所以人们可以听这种音频产品的简短音频预览(音频样本)(或不?)。所以你已经有了每个音频产品的音轨编号(或不是?)。那么你想要的是什么?$ tracknumber':与product track具有相同的值(在不同的'$ directory'中)或者其他的东西?请你能澄清你的问题,更新它吗?你说你已经列在有序清单中,你能否给我们更多的细节?你如何上传你的内容和地点? – LoicTheAztec

+0

感谢您的提问。每个产品都是一个完整的专辑,然后在该专辑页面上是轨道列表,该列表已在有序列表中输入到WordPress内容编辑器中,以便获得正确的轨道列表。现在每个专辑都有音频预览/每个曲目的样本,我试图找出一种方法,可以将这些样本添加到曲目列表中,而无需手动逐个曲目。 – dothedew

+0

在你的循环之外,你定义了'$ track = 0;'。在你的循环内;你以这种方式增加变量* $ track *的值'$ track = + 1;'。那么使用* if else *就像'$ track <10? '0'。$ track:''。$ track;'*(获得01,02,03 ...到99而不是获得1,2,3 ...到99)*。让我知道它是否有效。我不能这样做,因为我需要你的详细代码。试试吧,让我们知道... – LoicTheAztec

回答

0

我能够使用PHP的jquery的each()和index函数来计算出它。我在WooCommerce的content-single-product.php模板中添加了以下内容:

<?php 
$cloudbase = 'http://domain.com'; 
$directory = get_post_meta(get_the_ID(), 'directory', true); 
$trackprep = 'track'; 
$sep = '/'; 
$source = $cloudbase.$sep.$catno.$sep.$trackprep.$num; 
?> 
<script type="text/javascript"> 
jQuery('.tracks li').each(function(indexInt){ 
    var AudioPlayer = "<?php echo $source; ?>"; 
    if (indexInt <= 9) { 
     jQuery(this).before('<audio><source src="'+ AudioPlayer +'0'+ (indexInt +1)+'.mp3" type="audio/mpeg"></audio>'); 
    } 
    if (indexInt >= 10){ 
     jQuery(this).before('<audio><source src="'+ AudioPlayer +''+ (indexInt +1)+'.mp3" type="audio/mpeg"></audio>'); 
    } 
}); 
</script> 

希望在未来帮助其他人。

相关问题