В настоящее время я занимаюсь разработкой сайта с помощью WooCommerce и использую систему шаблонов Twig, я работаю над шаблоном архива и приведу в качестве примера приведенный ниже код:
{% extends 'page.twig' %}
{% block before_article %}
<div class="row">
<div class="col-md-12">
{% do action('woocommerce_before_main_content') %}
</div>
</div>
{% endblock %}
{% block page_header %}
<header>
<h1>{{ title|e2 }}</h1>
{% block below_h1 %}
{% do action('woocommerce_archive_description') %}
{% endblock %}
</header>
{% endblock %}
{% block primary_block %}
{% if products|length > 0 %}
<div class="before-products">
{% do action('woocommerce_before_shop_loop') %}
</div>
<div class="products">
<div class="row flex">
{% for post in products %}
{% include ["partials/tease-product.twig"] %}
{% endfor %}
</div>
</div>
<div class="after-products">
{% do action('woocommerce_after_shop_loop') %}
</div>
{% else %}
<div class="no-products">
{% do action('woocommerce_no_products_found') %}
</div>
{% endif %}
{% do action('woocommerce_after_main_content') %}
{% endblock %}
Однако код, который генерирует WooCommerce с помощью хуков действий, нарушает работу сайта, поскольку он, похоже, не закрывает теги должным образом - особенно при использовании тега <main>
.
Например, с этим битом:
{% block before_article %}
<div class="row">
<div class="col-md-12">
{% do action('woocommerce_before_main_content') %}
</div>
</div>
{% endblock %}
Код ниже не только из этого раздела, но и весь код до закрытия тега <main>
:
<div class="row">
<div class="col-md-12">
<div id="primary" class="content-area"><main id="main" class="site-main" role="main"> </div>
</div>
<div class="row">
<div class="col-md-12">
<article class="general-content">
<header>
<h1>Collar</h1>
</header>
<div class="content">
<div class="no-products">
<p class="woocommerce-info">No products were found matching your selection.</p>
</div>
</main>
Кстати, я временно удалил хлебные крошки WooCommerce, и поэтому вы не видите их в коде выше.
Кажется, он делает это с большинством хуков действий, когда я удалил этот первый хук действий, но я все еще нашел другие неуместные <main>
элементы в источнике.