Fix template quirks and bump version to 0.1.0
All checks were successful
Create Release Package / PHP Lint (push) Successful in 57s
Create Release Package / Build Release (push) Successful in 1m11s

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>
This commit is contained in:
2026-02-28 18:50:19 +01:00
parent c5f8e88ee4
commit 6ee95f4a2f
22 changed files with 109 additions and 25 deletions

View File

@@ -24,7 +24,7 @@
{% if available_methods is defined and available_methods|length > 0 %}
<ul id="shipping_method_{{ index|default(0) }}" class="list-unstyled mb-2">
{% for method_id, method in available_methods %}
<li class="form-check">
<li{% if available_methods|length > 1 %} class="form-check"{% endif %}>
{% if available_methods|length > 1 %}
<input type="radio"
name="shipping_method[{{ index|default(0) }}]"
@@ -40,7 +40,7 @@
class="shipping_method"
data-index="{{ index|default(0) }}" />
{% endif %}
<label class="form-check-label" for="shipping_method_{{ index|default(0) }}_{{ method_id|esc_attr }}">
<label class="{{ available_methods|length > 1 ? 'form-check-label' : '' }}" for="shipping_method_{{ index|default(0) }}_{{ method_id|esc_attr }}">
{{ method.get_label()|raw }}
</label>
{{ do_action('woocommerce_after_shipping_rate', method, index|default(0)) }}

View File

@@ -44,7 +44,7 @@
{# Shipping #}
{{ do_action('woocommerce_cart_totals_before_shipping') }}
{% if wc_shipping_enabled() is defined and wc_shipping_enabled() %}
{% if wc_shipping_enabled() %}
<li class="list-group-item cart-shipping">
{{ do_action('woocommerce_cart_totals_shipping') }}
</li>

View File

@@ -18,7 +18,7 @@
<section class="cross-sells mt-5">
{% set heading = heading|default(__('You may be interested in&hellip;')) %}
{% if heading %}
<h2 class="h4 mb-4">{{ heading }}</h2>
<h2 class="h4 mb-4">{{ heading|raw }}</h2>
{% endif %}
{{ woocommerce_product_loop_start() }}

View File

@@ -26,7 +26,7 @@
<li class="woocommerce-mini-cart-item d-flex gap-3 py-2 border-bottom {{ item.css_class|default('') }}">
{# Remove link #}
<a href="{{ item.remove_url|esc_url }}"
class="remove remove_from_cart_button text-danger"
class="btn btn-sm btn-outline-danger remove remove_from_cart_button"
aria-label="{{ __('Remove this item') }}"
data-product_id="{{ item.product_id }}"
data-cart_item_key="{{ item.key }}">