is_edit_mode() ){
$query_args['post_type'] = 'product';
} else {
$query_args = $default_query;
// Set pagination
$query_args['paged'] = Query::get_queried_page($settings);
// Set tax filters for filter component, if enabled
$queried_filters = Query::get_queried_filters($settings, 'product', 'product-filter');
$query_args['tax_query'] = empty($queried_filters['tax_query']) ? [] : $queried_filters['tax_query'];
}
break;
case 'related' :
return Helper::get_product_related($settings['item_limit']['size']);
break;
default :
$query_args = Query::get_query_args('product-filter', $settings, true);
break;
}
// Set total pages
$query_args['total_pages'] = Query::get_total_pages($query_args);
// Hide out of stock products
if( $settings['hide_out_of_stock'] === 'yes' ){
$query_args['meta_query'] = [
[
'key' => '_stock_status',
'value' => 'instock',
'compare' => '=',
]
];
}
$this->_query = $query_args;
return wc_get_products($query_args);
}
// Render functions
function get_product_image(object $product)
{
if ($this->get_settings_for_display('image') !== 'yes') {
return;
}
// Get product image ID
$pic_id = $product->get_image_id();
if (!$pic_id) {
return;
}
// Get image size
$size = $this->get_settings_for_display('image_size_select') ?? 'uicore-medium';
?>
get_settings_for_display('masonry') === 'ui-e-maso') { ?>
get_product_secondary_image( $product );
$classes = $sec_img ? 'ui-e-post-img ui-e-hover-hide' : 'ui-e-post-img';
// Print secondary image markup if exists
echo $sec_img ? wp_kses_post($sec_img) : '';
// Print main product image
echo wp_get_attachment_image($pic_id, $size, false, ['class' => $classes]);
?>
get_product_secondary_image( $product, $size, true );
echo $sec_img ? wp_kses_post($sec_img) : '';
?>
or background