所以基本上我试图在我的主页上运行/ downloads /(使用Easy Digital Downloads)循环。我将自定义字段附加到每个相册并尝试单独循环。这比我想象的要困难得多。我尝试了几种不同的循环方法,有些方法比其他方法效果更好。我目前的解决方案非常接近。
我尝试了不同的重置,使用和不使用Global $ post,我最初尝试使用关系或后对象字段,我仍然喜欢这样做。我把它换成了直接的自定义字段数据,这可以解决它,但仍然无法正常工作。
我最近在single-download.php中粘贴了相同的代码并且工作正常。我来回调整了WP中的阅读设置,重置永久链接。真的很困惑,在主页上持有这个代码?
这是我目前的代码:
<ul class="img-grid-4" id="releases">
<?php //global $post;
$args = array(
'post_type' => 'download',
'posts_per_page' => -1,
'cat' => -8,
'order' => 'ASC',
'paged' => ( get_query_var('page') ? get_query_var('page') : 1 ),
);
$custom_posts = new WP_Query($args);
if ($custom_posts->have_posts()) :
while( $custom_posts->have_posts()) :
$custom_posts->the_post(); ?>
<li>
<a class="hook" href="<?php the_permalink(); ?>">
<h5><?php the_title(); ?></h5>
<?php if ( has_post_thumbnail() ) {
the_post_thumbnail('full', array('class' => 'cover'));
} ?>
</a>
<section class="info">
<h1><?php the_title(); ?></h1>
<span class="close"><i class="icon-close"></i></span>
<h6 class="price">Singles - $0.89 | Album - <?php echo get_post_meta( get_the_ID(), 'edd_price', true ); ?></h6>
<?php if( have_rows('release_singles') ): ?>
<ul class="tracks">
<?php while( have_rows('release_singles') ): the_row();
// vars
$title = get_sub_field('title');
$id = get_sub_field('cart_id');
$link = get_sub_field('sample');
?>
<li>
<a href="" data-src="<?php echo $link; ?>" class="sm2_link">
<?php echo $title; ?>
</a>
<?php echo do_shortcode('[purchase_link class="button icon-cart" id="'. $id .'"]'); ?>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php the_content(); ?>
<a class="button" href="<?php the_permalink(); ?>">See Page</a>
<?php echo do_shortcode('[purchase_link class="button"]'); ?>
<footer class="entry-footer">
<?php szymanskimusic_entry_footer(); ?>
</footer><!-- .entry-footer -->
</section>
</li>
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
</ul>
演示网站链接如下: http://szymanskimusic.com/newsite/
如果您点击第一张专辑(带有脸部的橙色),会弹出一个带有专辑信息的模式,以及一个转发器字段列表。标题和购物车按钮是正确的,但点击歌曲链接会加载并为每个列表项播放相同的mp3。
如果单击底部的“查看页面”按钮,您将转到具有相同循环的单个页面,并且工作正常。
代码也在这里: https://github.com/szyam/szymanskimusic
front-page-2目前是我正在使用的,而methods-tries.php是我试图使用的各种循环。
$('#releases > li').on('click', '.hook', function(e){
var $this = $(this);
$this.removeAttr('href').parent().addClass('live');
var $list = $this.siblings('.info').find('li');
$list.each( function(){
var $src = $(this).children('.sm2_link').data('src');
$('.sm2_link').attr( 'href', $src );
})
soundManager.reboot();
e.preventDefault();
});