You've already forked wc-bootstrap
- WooCommerceExtension: ALLOWED_FUNCTIONS whitelist for fn() Twig function - Notice templates: data attributes use wp_kses_post instead of raw - Search form: esc_attr on search query value attribute - Per-request ContextBuilder caching via static variable - Shared wc_bootstrap_render_in_page_shell() helper (DRY) - Removed unused WC_BOOTSTRAP_VERSION and WC_BOOTSTRAP_URL constants Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
28 lines
934 B
Twig
28 lines
934 B
Twig
{#
|
|
# Info Notice (Bootstrap 5 Override)
|
|
#
|
|
# Displays WooCommerce info/neutral notices as Bootstrap 5 alerts.
|
|
#
|
|
# Expected context:
|
|
# notices - Array of notice objects, each with:
|
|
# notice - Notice HTML content (pre-sanitized via wc_kses_notice)
|
|
# data - Optional data attributes string
|
|
#
|
|
# WooCommerce PHP equivalent: notices/notice.php
|
|
#
|
|
# @package WcBootstrap
|
|
# @since 0.1.0
|
|
#}
|
|
|
|
{% if notices is defined and notices|length > 0 %}
|
|
{% for notice in notices %}
|
|
<div class="alert alert-info alert-dismissible fade show woocommerce-info"
|
|
{{ notice.data|default('')|wp_kses_post }}
|
|
role="status">
|
|
<i class="bi bi-info-circle me-2" aria-hidden="true"></i>
|
|
{{ notice.notice|raw }}
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="{{ __('Close') }}"></button>
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|