menex.ru
← Все статьи

Woocommerce, оформление заказа - убрать таблицу или заменить

15.06.2021 • Теги: #hook #woocommerce #wordpress

Чтобы на странице оформления заказа убрать итоговую таблицу, это иногда надо, когда совмещается корзина и оформление заказа на одной странице. Нужно вставить следующий код.

<!-- more -->

// удалить таблицу с товарами
remove_action( 'woocommerce_checkout_order_review', 'woocommerce_order_review', 10 );

Вместо неё можно добавить свою таблицу и если нужно свою информацию, написав следующий код.

/*
* Отображение изображения продукта на странице оформления заказа -- By Darshan Gada
*/

add_action('woocommerce_before_checkout_form', 'displays_cart_products_feature_image');
function displays_cart_products_feature_image() { 
    global $woocommerce; ?>

    <table class="shop_table">
        <thead>
            <tr>
                <th class="product-name" colspan="2">Блюдо</th>
                <th class="product-total">Количество персон</th>
            </tr>
        </thead>
        <tbody>
        <?php
        foreach ( $woocommerce->cart->get_cart() as $cart_item ) {
            $item = $cart_item['data'];
            if(!empty($item)){
                $product = new WC_product($item->id);
                ?>
                <tr class="cart_item">
                    <td class="product-name img">
                        <?=$product->get_image(); ?>
                    </td>
                    <td class="product-name">
                        <?=$product->name; ?>
                    </td>
                    <td class="product-total">
                        <span class="woocommerce-Price-amount amount"><bdi><?=$cart_item['quantity']; ?></bdi></span>
                    </td>
                </tr>
                <?php
            }
        } ?>
        </tbody>
        <tfoot>
            <tr class="order-total">
                <th colspan="2">Итого</th>
                <td><?php wc_cart_totals_order_total_html(); ?></td>
            </tr>
        </tfoot>
    </table>
    <div class="clear-cart-btn-container">
        <button id="clear-cart-btn" onclick="return clearCart(this);"><span id="clear-cart-text">Очистить корзину и перейти в Меню</span></button>
    </div>
<?php
}