• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Редактирование страницы оформления заказа, отделить способы оплаты

kosalex

Новичок
Добрый день! Столкнулся с тем что мне нужно изменить страницу оформления заказа, на такой вид

Контактные данные Ваш заказ
Способ доставки
Способ оплаты

Нашёл где отредактировать таблицу "Ваш заказ", а вот эту строку
Код:
<div id="payment" class="woocommerce-checkout-payment">......</div>
которая выводит список с способами оплаты нигде не видно...

В самом файле form-checkout.php за вывод отвечает вот эта строка
Код:
<?php do_action( 'woocommerce_checkout_order_review' ); ?>
Дальше в файле review-order.php выводиться таблица с "Ваш заказ"
Код:
<table class="shop_table woocommerce-checkout-review-order-table">

По идеи дальше должен идти
Код:
<div id="payment" class="woocommerce-checkout-payment">......</div>
но его в файле нет....

Помогите плиз понять где эти способы оплаты.
 

Вложения

  • QIP Shot - Screen 698.png
    QIP Shot - Screen 698.png
    361.6 KB · Просмотры: 41

kosalex

Новичок
Нашел где выводиться div, но как этот файл payment.php подвязан ? В нём находится уже готовый блок, а вот откуда этот файл вызывается не могу найти.
Подскажите пожалуйста
 

Вложения

  • QIP Shot - Screen 699.png
    QIP Shot - Screen 699.png
    51.6 KB · Просмотры: 39

kosalex

Новичок
Пока не нашёл где можно сделать так как мне нужно, решил хотя бы облагородить надпись "Способы оплаты" в итоге....
Если добавить строку типа
Код:
<h3><?php _e( 'Payment method', 'woocommerce' ); ?></h3>

в какой то из файлов payment.php или review-order.php тогда надпись задваивается....капец.....
 

Вложения

  • QIP Shot - Screen 700.png
    QIP Shot - Screen 700.png
    250.4 KB · Просмотры: 28

Stork.71

Гуру
Местный
woocommerce построен на хуках- так проще играться с элементами, менять местами, кастомизировать.
в основном шаблоне form-checkout.php есть хук <?php do_action( 'woocommerce_checkout_order_review' ); ?>
дальше в файле ...woocommerce\includes\wc-template-hooks.php есть функции, подвешенные на этот хук, с их приоритетом вызова:
PHP:
add_action( 'woocommerce_checkout_order_review', 'woocommerce_order_review', 10 );    //обзор заказа
add_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );    // варианты оплаты
далее, сами указанные функции декларируются в файле ...\woocommerce\includes\wc-template-functions.php
PHP:
if ( ! function_exists( 'woocommerce_order_review' ) ) {

    /**
     * Output the Order review table for the checkout.
     *
     * @subpackage    Checkout
     */
    function woocommerce_order_review( $deprecated = false ) {
        wc_get_template( 'checkout/review-order.php', array( 'checkout' => WC()->checkout() ) );
    }
}

if ( ! function_exists( 'woocommerce_checkout_payment' ) ) {

    /**
     * Output the Payment Methods on the checkout.
     *
     * @subpackage    Checkout
     */
    function woocommerce_checkout_payment() {
        if ( WC()->cart->needs_payment() ) {
            $available_gateways = WC()->payment_gateways()->get_available_payment_gateways();
            WC()->payment_gateways()->set_current_gateway( $available_gateways );
        } else {
            $available_gateways = array();
        }

        wc_get_template( 'checkout/payment.php', array(
            'checkout'           => WC()->checkout(),
            'available_gateways' => $available_gateways,
            'order_button_text'  => apply_filters( 'woocommerce_order_button_text', __( 'Place order', 'woocommerce' ) )
        ) );
    }
}
Эти функции в основном отвечают за запуск шаблонов checkout/review-order.php (обзор заказа) и checkout/payment.php (оплата), передавая им определенные переменные.
Дальше файлы-шаблоны review-order.php и payment.php содержат непосредственно внутренний код, который выводится в блоках обзор заказа и оплата, включая некоторые свои хуки - на каких-то что-то повешено, а какие-то оставлены про запас, для кастомизации.

Это была минутка теории.
Поскольку из Вашего вопроса нихрена не понятно - как у вас ЕСТЬ на сайте, как вы ХОТИТЕ чтобы было, да еще и отсутствует ссылка на проблему - то ответить непосредственно на вопрос не получится.
 

kosalex

Новичок
woocommerce построен на хуках- так проще играться с элементами, менять местами, кастомизировать.
в основном шаблоне form-checkout.php есть хук <?php do_action( 'woocommerce_checkout_order_review' ); ?>
дальше в файле ...woocommerce\includes\wc-template-hooks.php есть функции, подвешенные на этот хук, с их приоритетом вызова:
PHP:
add_action( 'woocommerce_checkout_order_review', 'woocommerce_order_review', 10 );    //обзор заказа
add_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );    // варианты оплаты
далее, сами указанные функции декларируются в файле ...\woocommerce\includes\wc-template-functions.php
PHP:
if ( ! function_exists( 'woocommerce_order_review' ) ) {

    /**
     * Output the Order review table for the checkout.
     *
     * @subpackage    Checkout
     */
    function woocommerce_order_review( $deprecated = false ) {
        wc_get_template( 'checkout/review-order.php', array( 'checkout' => WC()->checkout() ) );
    }
}

if ( ! function_exists( 'woocommerce_checkout_payment' ) ) {

    /**
     * Output the Payment Methods on the checkout.
     *
     * @subpackage    Checkout
     */
    function woocommerce_checkout_payment() {
        if ( WC()->cart->needs_payment() ) {
            $available_gateways = WC()->payment_gateways()->get_available_payment_gateways();
            WC()->payment_gateways()->set_current_gateway( $available_gateways );
        } else {
            $available_gateways = array();
        }

        wc_get_template( 'checkout/payment.php', array(
            'checkout'           => WC()->checkout(),
            'available_gateways' => $available_gateways,
            'order_button_text'  => apply_filters( 'woocommerce_order_button_text', __( 'Place order', 'woocommerce' ) )
        ) );
    }
}
Эти функции в основном отвечают за запуск шаблонов checkout/review-order.php (обзор заказа) и checkout/payment.php (оплата), передавая им определенные переменные.
Дальше файлы-шаблоны review-order.php и payment.php содержат непосредственно внутренний код, который выводится в блоках обзор заказа и оплата, включая некоторые свои хуки - на каких-то что-то повешено, а какие-то оставлены про запас, для кастомизации.

Это была минутка теории.
Поскольку из Вашего вопроса нихрена не понятно - как у вас ЕСТЬ на сайте, как вы ХОТИТЕ чтобы было, да еще и отсутствует ссылка на проблему - то ответить непосредственно на вопрос не получится.


В прикреплённых файлах вроде стрелкой показано куда хочу блок переместить. После того как покопался и не получилось, попробовал не перемещать блок, а только вставить надпись. Надпись вставилась, но почему то она задваивается...
 

Stork.71

Гуру
Местный
по идее оно так и должно быть, только наоборот: надпись должна быть выше того блока.
Что-то не так. Траблы в теме, или в каких-то плагинах. Может обновиться надо. Фик его знает. Вы ж подробностей не пишете, ссылку не даете.
 

kosalex

Новичок
по идее оно так и должно быть, только наоборот: надпись должна быть выше того блока.
Что-то не так. Траблы в теме, или в каких-то плагинах. Может обновиться надо. Фик его знает. Вы ж подробностей не пишете, ссылку не даете.
Тема не бесплатная. Всё самой последней версии. Какие подробности нужны? Ссылку на что не даю? Ссылка на сайт vtrendeshop.com
 

Stork.71

Гуру
Местный
Если тема не бесплатная - то это прямой вопрос к разработчикам темы, почему она отображается некорректно. На то они и небесплатные.
По ссылке заглушка
 
Сверху Снизу