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

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

Image CMS

kosalex

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

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

Нашёл где отредактировать таблицу "Ваш заказ", а вот эту строку
Код:
<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>
но его в файле нет....

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

Вложения

kosalex

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

Вложения

kosalex

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

Вложения

Stork.71

Гуру
Местный
#4
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

Новичок
#5
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

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

kosalex

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

Stork.71

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