Как изменить страницу thankyou.php в WooCommerce

18 янв. 2016 г., 23:43:29
Просмотры: 14.6K
Голосов: 3

В шаблоне thankyou.php есть действие, отображающее секцию, выделенную красным на изображении. Проблема в том, что заголовок "Our Bank Detals" должен быть над описанием, а не под ним.

Скриншот страницы благодарности WooCommerce

Код в thankyou.php, который создает эту секцию:

<?php do_action( 'woocommerce_thankyou_' . $order->payment_method, $order->id ); ?>

Это действие должно ссылаться на какой-то код в другом файле, который я надеюсь изменить с помощью хука в моем functions.php. Мне нужна помощь :-)

thankyou.php находится по пути:

..wp-content/plugins/woocommerce/templates/checkout/thankyou.php

Я скопировал его в папку дочерней темы, если потребуется его прямое редактирование

0
Все ответы на вопрос 2
0

В итоге я добавил описание способа оплаты.
(то самое, которое указывается в настройках WooCommerce в админке WordPress)

Стандартный текст оплаты в WooCommerce статичен и не относится к фактически выбранному способу оплаты. :-(

Я реализовал это, изменив файл шаблона WooCommerce:

1: Скопируйте этот файл шаблона:

..wp-content/plugins/woocommerce/templates/checkout/thankyou.php

в

ваша-папка-темы/woocommerce/checkout/thankyou.php

2: Замените эту строку удалить строку

на этот код:

<?php
    if ( $available_gateways = WC()->payment_gateways->get_available_payment_gateways() ) {
        foreach ( $available_gateways as $gateway ) {
            if ( $gateway->title == $order->payment_method_title) { 
                echo '<div> <h2>Оплата<h2/> </div>';
                echo $gateway->payment_fields();
            }
        }
    }
?>

(мой первый настоящий PHP-код, так что не удивлюсь, если можно сделать умнее ;-))

Результат (страница на датском): скриншот

Недостаток этого подхода в том, что если WooCommerce когда-нибудь обновит этот шаблон, вам нужно будет не забыть обновить его самостоятельно!

21 янв. 2016 г. 00:15:56
2

К сожалению, нет доступного хука для удаления текста "Наши банковские реквизиты". Однако вы можете скрыть стандартный, добавленный в нежелательном месте текст, добавив следующее правило в файл style.css вашей темы:

.woocommerce-order-received .woocommerce h2:nth-of-type(2) {
    display: none;
}

Затем, чтобы разместить "Наши банковские реквизиты" в нужном месте, просто перейдите в WooCommerce > Настройки > Оформление заказа > BACS и добавьте <h2>Наши банковские реквизиты</h2> в текстовое поле Инструкции.

Дайте мне знать, как получилось :)

19 янв. 2016 г. 15:25:07
Комментарии

Это помогло? :)

Prasad Nevase Prasad Nevase
19 янв. 2016 г. 16:52:26

В моем случае это был ".woocommerce-order-received .woocommerce h2:nth-of-type(1) {display: none;}" СПАСИБО, это был ОЧЕНЬ ХОРОШИЙ ответ! Я не знал про "nth-of-type(1)"

MrCalvin MrCalvin
20 янв. 2016 г. 20:30:07