Woocomerce Wordpress PHP магазин упаковки <ul>предметов в <div> - PullRequest
0 голосов
/ 29 января 2020

Я создаю тему, и у меня возникли небольшие проблемы, я пытаюсь изменить шаблон страницы / shop.

Мой текущий вывод HTML выглядит следующим образом:

<div class="row">
<section id="nav_menu-3" class="col-md-3"> [nav menu items go here] </div>  // this is a sidebar widget
<ul class="products columns-3"> <li> [woocomerce products go here]</li></ul> 
</div>

Мне удалось добавить первую строку с помощью ловушки - add_action ('woocommerce_before_shop_l oop') и после магазина l oop.

Теперь я хочу обернуть класс в другой поэтому вывод выглядит следующим образом:

<div class="row">
<section id="nav_menu-3" class="col-md-3"> [nav menu items go here] </div>  // this is a sidebar widget
<div class="col-md-8"> // start new div
<ul class="products columns-3"> <li> [woocomerce products go here]</li></ul> 
</div> // end new div
</div>

Если я добавлю это в мою текущую функцию, это, кажется, нарушит макет - вот мой элемент перед магазином l oop item.

function  woocommerce_product_columns_wrapper() {
    $columns =  woocommerce_loop_columns();
    echo '<div class="row">';       
 }

}
add_action( 'woocommerce_before_shop_loop', ' woocommerce_product_columns_wrapper', 40 
);

Эта же функция используется с after_shop_l oop для закрытия div. Как я могу добавить дополнительные, чтобы обернуть все это?

Ответы [ 2 ]

1 голос
/ 29 января 2020

Чтобы добавить пользовательский класс перед тегом <ul> HTML на страницах магазина WooCommerce и архивов:

Сначала прочитайте официальную документацию " Переопределение шаблонов через тему ", в которой поясняется как переопределить шаблоны woocommerce с помощью темы.

Примечание для «Премиум-тем»: в некоторых премиальных темах они могут использовать уже настроенные шаблоны WooCommerce, поэтому вам придется использовать их вместо. Если вы используете дочернюю тему с ней, скопируйте связанный шаблон в свою дочернюю тему, соблюдая ту же иерархию папок.

Как только вы поймете это, связанный шаблон для редактирования будет loop/loop-start.php.
Открыть / отредактируйте его и замените:

 <div class="col-md-8">
    <ul class="products columns-<?php echo esc_attr( wc_get_loop_prop( 'columns' ) ); ?>">

Теперь откройте loop-end.php и закройте тег

Сохранить ... Готово.

0 голосов
/ 29 января 2020

в woocomerce go в шаблоны скопируйте все файлы оттуда в папку вашей темы

, тогда вы увидите, что есть папка l oop, содержащая l oop -start. php код, подобный

<ul class="products columns-<?php echo esc_attr( wc_get_loop_prop( 'columns' ) ); ?>">

Вы можете изменить это значение на

<div class="col-md-8">
 <ul class="products columns-<?php echo esc_attr( wc_get_loop_prop( 'columns' ) ); ?>">

И есть еще один конец l oop. php

</ul>

изменить на

</ul></div>

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...