You've already forked wc-bootstrap
Audit and fix 14 Twig templates for escaping bugs, CSS conflicts, and missing Bootstrap styling: - Fix nl2br/esc_html filter order in order details - Add WC gallery modifier classes for zoom/photoswipe JS init - Fix HTML entity double-encoding in headings (up-sells, cross-sells, related) - Remove wrong 'is defined' guards on function calls - Remove duplicate deprecated hooks in dashboard - Add |raw to brand description HTML filter chain - Add role="alert" for accessibility, |esc_attr on notification types - Style mini-cart remove button as Bootstrap btn - Make shipping form-check class conditional - Add shop_table CSS reset and gallery opacity fallback Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
33 lines
917 B
Twig
33 lines
917 B
Twig
{#
|
|
# Cross-sell Products (Bootstrap 5 Override)
|
|
#
|
|
# Renders cross-sell product recommendations below the cart.
|
|
#
|
|
# Expected context:
|
|
# cross_sells - Array of WC_Product objects
|
|
# columns - Number of columns
|
|
# heading - Section heading (filtered)
|
|
#
|
|
# WooCommerce PHP equivalent: cart/cross-sells.php
|
|
#
|
|
# @package WcBootstrap
|
|
# @since 0.1.0
|
|
#}
|
|
|
|
{% if cross_sells is defined and cross_sells|length > 0 %}
|
|
<section class="cross-sells mt-5">
|
|
{% set heading = heading|default(__('You may be interested in…')) %}
|
|
{% if heading %}
|
|
<h2 class="h4 mb-4">{{ heading|raw }}</h2>
|
|
{% endif %}
|
|
|
|
{{ woocommerce_product_loop_start() }}
|
|
|
|
{% for product in cross_sells %}
|
|
{% include 'content-product.html.twig' with { product: product } %}
|
|
{% endfor %}
|
|
|
|
{{ woocommerce_product_loop_end() }}
|
|
</section>
|
|
{% endif %}
|