我目前正在使用WooCommerce显示产品列表,使用以下循环可以显示帖子类型“product”,并允许分页,因此我可以使用无限滚动来平滑浏览所有可用的产品。
我的问题是,我想在循环中的某些产品之间注入定制营销信息。
我尝试了以下方法:http://dancameron.org/code/adding-content-between-posts-wordpress-loop/ 这是可行的,但当我只想显示一次时,它会在每x条帖子中重复相同的唯一消息。
我还构思了使用jQuery插入这些消息的想法,并给出了以下示例:
$(\'.item:nth-child(2)\').before("<div class=\'item main\'><img src=\'<?php echo get_template_directory_uri(); ?>/img/dressup-slider.jpg\' /></div>");
但是,如果我将第n个子项设置为更高的数字,则显示的产品数量并滚动到它所在的页面,则不会显示任何内容。
任何建议或正确的方向都将不胜感激
我使用的循环:
<?php
$paged = 1;
if ( get_query_var(\'paged\') ) $paged = get_query_var(\'paged\');
if ( get_query_var(\'page\') ) $paged = get_query_var(\'page\');
$i = 0;
$loop = new WP_Query( array( \'post_type\' => \'product\', \'paged\' => $paged, \'posts_per_page\' => 15 ) );
while ( $loop->have_posts() ) : $loop->the_post() ?>
<!-- product template -->
<?php $i++; endwhile; ?>
<?php
if ( function_exists( \'wp_pagenavi\' ) ) { ?>
<nav id="page-nav">
<?php wp_pagenavi( array( \'query\' => $loop ) ); ?>
</nav>
<?php wp_reset_postdata();
}
?>
同位素/无限滚动调用
var $container = $(\'.isotope\');
var $finishedMsg = \'No more posts to load.\';
var $msgText = \'Loading more posts...\';
var $loadingImg = \'images/spinner.gif\';
$container.imagesLoaded(function(){
$container.isotope({
itemSelector: \'.item\',
//transformsEnabled: false,
//animationEngine: \'css\',
masonry: {
columnWidth: \'.grid-sizer\',
gutter: 10
}
});
});
$container.infinitescroll({
navSelector : \'#page-nav\',
nextSelector : \'#page-nav a\',
itemSelector : \'.item\',
loading: { finishedMsg: $finishedMsg, img: $loadingImg }
},
function(newElements) {
var $newElems = $(newElements).css({opacity: 0});
$newElems.imagesLoaded(function(){
$newElems.animate({opacity: 1});
$container.isotope(\'appended\', $newElems, true);
WireEvents();
});
}
);