target_widget_settings = $settings; $this->target_widget_name = $widget_name; } /** * Render a single product item specifically for the Glossy Grid widget * * @param WC_Product $product The product object to render * @param array $settings The widget settings */ public function render_glossy_grid_item($product, $settings) { if (!$product) { return; } $product_id = $product->get_id(); $rating_count = $product->get_rating_count(); $average = $product->get_average_rating(); // Get product categories $tooltip_position = isset($settings['tooltip_position']) ? $settings['tooltip_position'] : 'right'; // get the class based on the widget $show_rating = isset($settings['show_rating']) ? $settings['show_rating'] : true; $classes = $this->target_widget_name === 'glossy-grid' ? 'usk-item' : 'usk-item swiper-slide'; $classes .= $show_rating ? ' usk-have-rating' : ''; $title_tags = isset($settings['title_tags']) ? $settings['title_tags'] : 'h3'; ?>
render_product_image($product, $settings); ?>
%3$s', esc_attr(Utils::get_valid_html_tag($title_tags)), esc_url($product->get_permalink()), esc_html($product->get_title()), esc_attr(sprintf('View details for %s', $product->get_title())) ); endif; ?> get_price_html()): ?>
print_price_output($product->get_price_html()); ?>
register_global_template_wc_rating($average, $rating_count)); ?>
register_global_template_add_to_wishlist($tooltip_position, $settings); $this->register_global_template_add_to_compare($tooltip_position, $settings); $this->register_global_template_quick_view($product->get_id(), $tooltip_position, $settings); $this->register_global_template_add_to_cart($tooltip_position, $settings); ?>
get_gallery_image_ids(); $product_image = wp_get_attachment_image_url(get_post_thumbnail_id(), isset($settings['image_size']) ? $settings['image_size'] : 'full'); // if product image is empty, use placeholder if (empty($product_image)) { $product_image = wc_placeholder_img_src('full'); } if ($gallery_thumbs) { foreach ($gallery_thumbs as $key => $gallery_thumb) { if ($key == 0): $gallery_image_link = wp_get_attachment_image_url($gallery_thumb, isset($settings['image_size']) ? $settings['image_size'] : 'full'); endif; } } else { $gallery_image_link = wp_get_attachment_image_url(get_post_thumbnail_id(), isset($settings['image_size']) ? $settings['image_size'] : 'full'); } ?>
<?php echo esc_html(get_the_title()); ?> <?php echo esc_html(get_the_title()); ?>
register_global_template_badge_label($settings); ?>
['aria-hidden' => []], 'span' => ['class' => []], 'bdi' => [], 'ins' => [], ]; if (isset($output)) { echo wp_kses($output, $tags); } } }