Как создать страницу получения пользовательского заказа WooCommerce
Опубликовано: 2021-04-11Хотите добавить пользовательскую страницу благодарности в свой магазин WooCommerce? Страница благодарности — одна из самых важных страниц в любом магазине WooCommerce. ее также называют страницей получения заказа.
WooCommerce показывает содержимое страницы «Спасибо» из шаблона «thankyou.php». Этот шаблон находится в папке woocommerce/templates/checkout/ . Для иллюстрации мы будем использовать тему Storefront. Спасибо.php следует скопировать в: wp-content/plugins/woocommerce/checkout/folder .
В этом посте мы покажем вам, как создать собственный шаблон, скопировав файлthankyou.php в папку вашей темы в аналогичной структуре папок.
Вам необходимо иметь некоторые знания в области кодирования, если вы хотите использовать этот метод для настройки страницы получения вашего заказа.
Давайте посмотрим, как можно настроить страницу получения заказа.
Страница получения пользовательского заказа WooCommerce
Сначала вам нужно создать 2 папки: «woocommerce» и «checkout». Мы рекомендуем вам изменить данные, отображаемые в таблице сведений о заказе, и сведения о клиенте (при входе в систему).
Если вы не видите файл, WooCommerce использует функцию woocommerce_order_details_table(), прикрепленную к хуку woocommerce_thankyou. Функция woocommerce_order_details_table() определена в файле include/wc-template-functions.php.
Настройка страницы получения заказа путем перезаписи шаблонов WooCommerce
Страница благодарности на самом деле представляет собой набор из 4 разных файлов шаблонов:
- шаблоны/оформить заказ/thankyou.php
- шаблоны/заказ/заказ-details.php
- шаблоны/заказ/заказ-детали-item.php
- шаблоны/заказ/заказ-детали-customer.php
Вот так отображается страница полученного заказа:
Мы хотим добавить код купона для клиента для его следующей покупки и удалить способ оплаты из верхней части.
Мы хотим добавить его над разделом сведений о заказе.
Поэтому мы добавим в шаблон страницы благодарности следующий код :
<?php Since this is your first order, we are happy to extend a 15% discount on your next purchase. Use the coupon code <strong>WELCOME15</strong> to avail the discount.
Ниже приведен шаблон Thankyou.php из моей темы:
<!--?php defined( 'ABSPATH' ) || exit; ?--> <div class="woocommerce-order"> <!--?php if ( $order ) : do_action( 'woocommerce_before_thankyou', $order->get_id() );</p> <p> ?--> <!--?php if ( $order->has_status( 'failed' ) ) : ?--> <a href="<?php echo esc_url( $order->get_checkout_payment_url() ); ?>" class="button pay"><?php esc_html_e( 'Pay', 'woocommerce' ); ?></a> <?php if ( is_user_logged_in() ) : ?> <a href="<?php echo esc_url( wc_get_page_permalink( 'myaccount' ) ); ?>" class="button pay"><?php esc_html_e( 'My account', 'woocommerce' ); ?></a> <?php endif; ?> </p> <?php else : ?> <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', 'woocommerce' ), $order ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p> <ul class="woocommerce-order-overview woocommerce-thankyou-order-details order_details"> <li class="woocommerce-order-overview__order order"> <?php esc_html_e( 'Order number:', 'woocommerce' ); ?> <strong><?php echo $order->get_order_number(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong> </li> <li class="woocommerce-order-overview__date date"> <?php esc_html_e( 'Date:', 'woocommerce' ); ?> <strong><?php echo wc_format_datetime( $order->get_date_created() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong> </li> <?php if ( is_user_logged_in() && $order->get_user_id() === get_current_user_id() && $order->get_billing_email() ) : ?> <li class="woocommerce-order-overview__email email"> <?php esc_html_e( 'Email:', 'woocommerce' ); ?> <strong><?php echo $order->get_billing_email(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong> </li> <?php endif; ?> <li class="woocommerce-order-overview__total total"> <?php esc_html_e( 'Total:', 'woocommerce' ); ?> <strong><?php echo $order->get_formatted_order_total(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong> </li> <?php if ( $order->get_payment_method_title() ) : ?> <li class="woocommerce-order-overview__payment-method method"> <?php esc_html_e( 'Payment method:', 'woocommerce' ); ?> <strong><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></strong> </li> <?php endif; ?> </ul> <?php endif; ?> <p>Since this is your first order, we are happy to extend a 15% discount on your next purchase. Use the coupon code <strong>WELCOME15</strong> to avail the discount.</p> <?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?> <?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?> <?php else : ?> <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', 'woocommerce' ), null ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p> <?php endif; ?> </div>
Это результат:
Важно отметить, что как только вы узнаете, какие данные поступают из какого шаблона, вам просто нужно скопировать нужный шаблон в папку вашего плагина.
Вывод
В этом посте вы узнали, как перезаписать шаблон полученного заказа. Вы можете использовать тот же метод для настройки других шаблонов. Если у вас возникли проблемы, обратитесь к квалифицированному разработчику WordPress.
Похожие статьи
- Перенаправление WooCommerce после выхода из системы [Полное руководство]
- Более 100 советов, подсказок и фрагментов Ultimate WooCommerce Hide Guide
- Перенаправление WooCommerce после оформления заказа: перенаправление на пользовательскую страницу благодарности
- Как удалить название категории продукта WooCommerce
- Как перенаправить страницу WordPress без плагинов?
- Как переместить главное меню магазина WooCommerce
- Как автоматически утверждать заказы в WooCommerce
- Как удалить текст нижнего колонтитула электронной почты «Построено с помощью WooCommerce»
- Как скрыть способы доставки при определенных условиях
- Как очистить корзину при выходе из WooCommerce
- Как редактировать шаблон страницы оформления заказа WooCommerce
- Как получить идентификатор заказа на странице оформления заказа WooCommerce
- Как создать пользовательскую область виджетов в WordPress шаг за шагом
- Как проверить, вошел ли пользователь в WordPress
- Краткое руководство по оптимизации касс WooCommerce
- Как получить текущее название категории продукта в WooCommerce
- Как получить способы оплаты в WooCommerce » Пример кода
- Как сделать безопасный заказ в WooCommerce
- Как создать купон в WooCommerce
- Как изменить заголовок страницы оформления заказа WooCommerce