Задать вопрос
Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (3)

Лучшие ответы пользователя

Все ответы (6)
  • Вывод методов доставки на странице Оформления заказа для незарегистрированных пользователей?

    @midas34
    Зависит конечно от темплейтов темы, можно реализовать так:
    1) Шаблоны \woocommerce\checkout\form-checkout.php и \woocommerce\checkout\review-order.php копируйте в вашу текущую тему WP
    2) Открываем review-order.php и смотрим секцию tfoot, начинается с
    <?php if ( WC()->cart->needs_shipping() && WC()->cart->show_shipping() ) : ?>

    Вырезаем кусок до конца и вставляем в нужное место в шаблоне form-checkout.php
    По другому ни как! т.к. именно в review-order.php идёт проверка на включение опций Доставки в Woo, если опция включена, идёт проверка и вывод методов доставки
    Пример какой кусок вырезается, брал из стандартного шаблона Woo
    <?php if ( WC()->cart->needs_shipping() && WC()->cart->show_shipping() ) : ?>
    
    			<?php do_action( 'woocommerce_review_order_before_shipping' ); ?>
    
    			<?php wc_cart_totals_shipping_html(); ?>
    
    			<?php do_action( 'woocommerce_review_order_after_shipping' ); ?>
    
    		<?php endif; ?>
    
    		<?php foreach ( WC()->cart->get_fees() as $fee ) : ?>
    			<tr class="fee">
    				<th><?php echo esc_html( $fee->name ); ?></th>
    				<td><?php wc_cart_totals_fee_html( $fee ); ?></td>
    			</tr>
    		<?php endforeach; ?>
    
    		<?php if ( wc_tax_enabled() && ! WC()->cart->display_prices_including_tax() ) : ?>
    			<?php if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) : ?>
    				<?php foreach ( WC()->cart->get_tax_totals() as $code => $tax ) : // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited ?>
    					<tr class="tax-rate tax-rate-<?php echo esc_attr( sanitize_title( $code ) ); ?>">
    						<th><?php echo esc_html( $tax->label ); ?></th>
    						<td><?php echo wp_kses_post( $tax->formatted_amount ); ?></td>
    					</tr>
    				<?php endforeach; ?>
    			<?php else : ?>
    				<tr class="tax-total">
    					<th><?php echo esc_html( WC()->countries->tax_or_vat() ); ?></th>
    					<td><?php wc_cart_totals_taxes_total_html(); ?></td>
    				</tr>
    			<?php endif; ?>
    		<?php endif; ?>

    3) Обрамите его в теги table и tfoot по аналогии как в шаблоне review-order.php иначе посыпется вёрстка
    Метод полностью рабочий, работает на одном проекте
    Ответ написан
    3 комментария

Лучшие вопросы пользователя

Все вопросы (14)