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

Почему не срабатывает вывод кнопки «Добавить в корзину» на woocommerce?

Пытаюсь все товары woocommerce вывести в виде таблицы
редактирую файл content-product.php
вот сам код:
<tr>
        
        <td class="product_table"><?php the_title(); ?></td>   
        <td class="product_table"><?php echo apply_filters( 'the_content', $product->sku ) ?></td>
	<td class="product_table"><?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?></td>
	<td class="product_table"><?php echo apply_filters( 'the_content', $post->post_content ) ?></td>
        <td class="product_table"><?php do_action( 'woocommerce_after_shop_loop_item_title' ); ?></td>
        <td class="product-table"><button type="submit" class="single_add_to_cart_button button alt"><?php echo $product->single_add_to_cart_text();?></button></td>
      </tr>


Последняя строка должна выводить кнопку "добавить в корзину".Она ее выводит, но самого действия добавления в корзину не происходит.
Думал возможно через генерацию id типа
<a href="/ссылка/?add-to-cart=и здесь генерировать id"
Но как это сделать пока не разобрался.
Возможно есть еще какие варианты вывода..
  • Вопрос задан
  • 936 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
Punkie
@Punkie
Потому что на вашей кнопке "submit" никак не передается id добавляемого товара - корзина не знает что в неё хотят добавить.

Для товаров с типом "simple" это делается так:

<button type="submit" name="add-to-cart" class="single_add_to_cart_button button alt" value="<?php echo esc_attr( $product->get_id() ); ?>"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button>


Для других типов - смотрите папку /wp-content/plugins/woocommerce/templates/single-product/add-to-cart/ .
Для вариаций, например, id кладётся в поле hidden.

__

UPD: стоп, вы же редактируете content-product. Это значит архив, не single-product. В архивах все add-to-cart делаются не через button, а через ссылку, которая генерится функцией woocommerce_template_loop_add_to_cart Смотрите шаблон /wp-content/plugins/woocommerce/templates/loop/add-to-cart.php
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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