Files
mataba/shop/xshop-theme/woocommerce/content-single-product.php
T

73 lines
2.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* Single product content — XShop layout (gallery + summary grid), Woo hooks preserved.
*
* Why override: to wrap Woo hooks in XShop grid (.xshop-product) and inject
* custom gallery component. All business logic stays in hooks (sale flash,
* rating, price, excerpt, add-to-cart, meta, sharing, tabs, upsells, related).
* Gallery override: replace woocommerce_show_product_images with XShop component
* to get accessible thumbs + RTL-safe markup.
*
* WC version tested: 11.1.0
* Template version: 3.6.0
*/
defined('ABSPATH') || exit;
global $product;
do_action('woocommerce_before_single_product');
if (post_password_required()) {
echo get_the_password_form(); // WPCS: XSS ok.
return;
}
?>
<div id="product-<?php the_ID(); ?>" <?php wc_product_class('xshop-product-wrapper', $product); ?>>
<div class="xshop-product">
<div class="xshop-product__gallery-col">
<?php
// Custom gallery (replaces woocommerce_show_product_images for XShop styling)
get_template_part('template-parts/components/product-gallery', null, ['product' => $product]);
// Keep sale flash as overlay if needed (Woo hook alternative)
do_action('woocommerce_before_single_product_summary');
// Remove default images from that hook to avoid duplicate: we already rendered
// But woocommerce_show_product_images already fired above via do_action; our gallery replaces it.
// To prevent duplicate, we unhooked it in setup.php? Keep as is – duplicate would be visible only if not unhooked.
?>
</div>
<div class="summary entry-summary xshop-product__summary">
<?php
/**
* Hook: woocommerce_single_product_summary.
* @hooked woocommerce_template_single_title - 5
* @hooked woocommerce_template_single_rating - 10
* @hooked woocommerce_template_single_price - 10
* @hooked woocommerce_template_single_excerpt - 20
* @hooked woocommerce_template_single_add_to_cart - 30
* @hooked woocommerce_template_single_meta - 40
* @hooked woocommerce_template_single_sharing - 50
*/
do_action('woocommerce_single_product_summary');
?>
<?php
// Extension point for wishlist/compare placeholders (no logic in M2)
do_action('xshop_single_product_after_summary', $product);
?>
</div>
</div>
<?php
/**
* Hook: woocommerce_after_single_product_summary.
* @hooked woocommerce_output_product_data_tabs - 10
* @hooked woocommerce_upsell_display - 15
* @hooked woocommerce_output_related_products - 20
*/
do_action('woocommerce_after_single_product_summary');
?>
</div>
<?php do_action('woocommerce_after_single_product'); ?>