所以基本上我试图在我的主页上运行/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-tried.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();
});