Задать вопрос
@galiulin_r

Как сделать табличный вывод товаров woocommerce?

Взял код с корзины и переделал его. Все получилось, но почему-то для каждого товара создается своя таблица. Как сделать так, чтоб таблица не разбивалась, а продолжалась?
Вот код:
<table class="shop_table cart" cellspacing="0">
	<thead>
		<tr>
			<th class="product-name"><?php _e( 'Product', 'woocommerce' ); ?></th>
			<th class="product-price"><?php _e( 'Price', 'woocommerce' ); ?></th>
			<th class="product-price"></th>
		</tr>
	</thead>

   <tbody>
      <tr>
		<td class="product-name">
		<a href="<?php the_permalink() ?>" ><?php the_title(); ?></a>    
        </td>
        
		<td class="product-price">
		<?php
			/**
			 * woocommerce_after_shop_loop_item_title hook
			 *
			 * @hooked woocommerce_template_loop_rating - 5
			 * @hooked woocommerce_template_loop_price - 10
			 */
			do_action( 'woocommerce_after_shop_loop_item_title' );
		?>
		</td>
    
        <td class="product-price">
        <?php do_action( 'woocommerce_after_shop_loop_item' ); ?>
        </td>
      </tr>
	</tbody>
</table>


Все это безобразие я вставил в страницу content-product.php

Вот ссылка, как выглядит: shop-tu.ru/magazin

Есть, конечно, мысль убрать заголовок, покопаться в CSS в стиле table, чтобы выводить строки без нижнего отступа т.е. получится, что строки сольются. Предварительно нужно будет прописать ширину фиксированную к каждому столбцу, так как там прописана "резиновая"

Но если есть другой вариант, буду очень признателен.

Я так думаю не там размещаю код т.к. content-product.php участвует в цикле где то в другом месте, я создаю простую таблицу и она создается на странице столько раз сколько товаров закачено. Может нужно в другое место этот код засунуть? С другой стороны почему корзина тогда работает. Кто ни будь может подсказать как все таки осуществлять табличный вывод товара?
  • Вопрос задан
  • 9519 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@divan87
Не знаю, может кому то будет полезно еще. Тоже столкнулся с этой проблемой. Решена она была тем, что начальные тэги таблиц:
<table class="shop_table cart" cellspacing="0">
  <thead>
    <tr>
      <th class="product-name"><?php _e( 'Product', 'woocommerce' ); ?></th>
      <th class="product-price"><?php _e( 'Price', 'woocommerce' ); ?></th>
      <th class="product-price"></th>
    </tr>
  </thead>

   <tbody>

был помещен в другой файл в этом шаблоне - loop/loop-start.php.
Ну и соответственно конечный тэг таблицы был помещен в loop/loop-end.php. После этого все заработало как надо.
Ответ написан
MindMinimal
@MindMinimal
Front-end Developer, веб-разработчик
Вынесите теги за скрипт цикла вывода. Или предоставьте полный код даного файла. (Т.е. с php)
Ответ написан
tizar
@tizar
Увлеченный
У меня была схожая проблема когда я делал нумерацию постов в поисковой выдаче WordPress. Действительно, нужно вынести теги таблицы.
<table class="shop_table cart" cellspacing="0">
	<thead>
		<tr>
			<th class="product-name"><?php _e( 'Product', 'woocommerce' ); ?></th>
			<th class="product-price"><?php _e( 'Price', 'woocommerce' ); ?></th>
			<th class="product-price"></th>
		</tr>
	</thead>

   <tbody>

Попробуй вставить в начало, перед
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

global $woocommerce_loop;
Ответ написан
@Kortvagner
Такая же проблема! Кто-нибудь решил данный вопрос?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы