That helped a bit – now I’m seeing inconsistent # of loads when I scroll down… it’s set to 8 but it occasionally loads 6, or 16 – seems random… This breaks my grid because the alm-reveal div creates a new row. Any ideas why that’s happening?
[ajax_load_more preloaded=”true” repeater=”template_1″ post_type=”product” posts_per_page=”8″ scroll_distance=”50″ transition=”fade” images_loaded=”true” pause=”false” pause_override=”false”]
https://merakimoon.staging.wpengine.com/shop/
Here’s my template – which is hacked together from the Jupiter Theme and I’m not expert so I’m certain there are pieces of this that are not needed…
<?php
if ( ! defined( ‘ABSPATH’ ) ) exit; // Exit if accessed directly
global $product, $woocommerce_loop, $mk_options;
// Ensure visibility
if ( ! $product->is_visible() ){
return;
}
// declare variable in case if none of the conditions below meets
$classes= ‘item mk–col mk–col–3-12 product type-product status-publish has-post-thumbnail taxable shipping-taxable purchasable product-type-variable has-children item–loaded’;
?>
<li <?php post_class($classes); ?>>
<div class=”mk-product-holder”>
<div class=”product-loop-thumb”>
<?php
if ( ! $product->is_in_stock() ) {
echo ‘<span class=”mk-out-stock”>’.__( ‘OUT OF STOCK’, ‘mk_framework’ ).'</span>’;
}
if ($product->is_on_sale()) :
echo apply_filters(‘woocommerce_sale_flash’, ‘<span class=”mk-onsale”>’.__( ‘Sale’, ‘mk_framework’ ).'</span>’, $post, $product);
endif;
$image_size = isset($mk_options[‘woo_loop_image_size’]) ? $mk_options[‘woo_loop_image_size’] : ‘crop’;
if ( has_post_thumbnail() ) {
echo ‘‘;
$featured_image_src = Mk_Image_Resize::resize_by_id_adaptive( get_post_thumbnail_id(), $image_size, $width, $height, $crop = false, $dummy = true);
if ( has_post_thumbnail() ) { the_post_thumbnail(array(500,500));}
echo ‘‘;
} else {
echo ‘‘;
}
?>
<?php if($mk_options[‘woocommerce_catalog’] == ‘false’) { ?>
<div class=”product-item-footer”>
<?php if ( $rating_html = $product->get_rating_html() ) : ?>
<span class=”product-item-rating”><?php echo $rating_html; ?></span>
<?php endif; ?>
<?php
/**
* woocommerce_after_shop_loop_item hook
*
* @hooked woocommerce_template_loop_add_to_cart – 10
*/
do_action( ‘woocommerce_after_shop_loop_item’ );
switch ( $product->product_type ) {
case “variable” :
$icon_class = ‘mk-icon-plus’;
break;
case “grouped” :
$icon_class = ‘mk-moon-search-3’;
break;
case “external” :
$icon_class = ‘mk-moon-search-3’;
break;
default :
$icon_class = ‘mk-moon-cart-plus’;
break;
}
if(!$product->is_purchasable() || !$product->is_in_stock()) {
$icon_class = ‘mk-moon-search-3’;
}
$button_class = implode( ‘ ‘, array(
‘product_loop_button’,
‘product_type_’ . $product->product_type,
$product->is_purchasable() && $product->is_in_stock() ? ‘add_to_cart_button’ : ”,
$product->supports( ‘ajax_add_to_cart’ ) ? ‘ajax_add_to_cart’ : ”
) );
echo apply_filters( ‘woocommerce_loop_add_to_cart_link’,
sprintf( ‘%s%s‘,
esc_url( $product->add_to_cart_url() ),
esc_attr( $quantity ),
esc_attr( $product->id ),
esc_attr( $product->get_sku() ),
esc_attr( $button_class ),
Mk_SVG_Icons::get_svg_icon_by_class_name(false,$icon_class,16),
esc_html( $product->add_to_cart_text() )
),
$product );
?>
</div>
<?php } ?>
</div>
<?php do_action( ‘woocommerce_before_shop_loop_item’ ); ?>
<div class=”mk-shop-item-detail”>
<?php
global $mk_options;
if ( ! empty( $mk_options[‘woocommerce_loop_enable_love_button’] ) ) :
if ( $mk_options[‘woocommerce_loop_enable_love_button’] != ‘false’ ) :
?>
<div class=”mk-love-holder”>
<?php echo Mk_Love_Post::send_love(); ?>
</div>
<?php
endif;
endif;
?>
<h3 class=”product-title”>“><?php the_title(); ?></h3>
<?php do_action( ‘woocommerce_after_shop_loop_item_title’ ); ?>
<?php
if($mk_options[‘woocommerce_loop_show_desc’] == ‘true’) :
echo ‘<div class=”product-item-desc”>’ . apply_filters( ‘woocommerce_short_description’, $post->post_excerpt ) . ‘</div>’;
endif;
?>
</div>
</div>