Jak utworzyć stronę otrzymanych zamówień niestandardowych WooCommerce
Opublikowany: 2021-04-11Czy chcesz dodać niestandardową stronę z podziękowaniem w swoim sklepie WooCommerce? Strona z podziękowaniami jest jedną z najważniejszych stron w każdym sklepie WooCommerce. nazywana jest również stroną otrzymanego zamówienia.
WooCommerce pokazuje zawartość strony z podziękowaniem z szablonu thankyou.php. Ten szablon znajduje się w folderze woocommerce/templates/checkout/ . W celach ilustracyjnych użyjemy motywu Storefront. Thankyou.php należy skopiować do: wp-content/plugins/woocommerce/checkout/ folder .
W tym poście pokażemy Ci, jak możesz stworzyć własny szablon, kopiując plik thankyou.php do folderu Twojego motywu w podobnej strukturze folderów.
Musisz mieć pewną wiedzę na temat kodowania, jeśli chcesz użyć tej metody, aby dostosować stronę otrzymanych zamówień.
Przyjrzyjmy się, jak dostosować stronę otrzymanych zamówień.
Strona otrzymanego zamówienia niestandardowego WooCommerce
Najpierw musisz utworzyć 2 foldery, „woocommerce” i „checkout”. Zalecamy zmianę danych wyświetlanych w tabeli Szczegóły zamówienia i danych klienta (po zalogowaniu).
Jeśli nie widzisz pliku, WooCommerce używa funkcji woocommerce_order_details_table(), która jest dołączona do haka woocommerce_thankyou. Funkcja woocommerce_order_details_table() jest zdefiniowana w pliku include/wc-template-functions.php.
Dostosowywanie strony otrzymanego zamówienia poprzez nadpisywanie szablonów WooCommerce
Strona z podziękowaniami jest w rzeczywistości zbiorem 4 różnych plików szablonów:
- szablony/do kasy/dziękuję.php
- szablony/zamówienie/szczegóły-zamówienia.php
- szablony/zamówienie/szczegóły-zamówienia.php
- szablony/zamówienie/szczegóły-zamówienia-customer.php
W ten sposób wyświetlana jest strona otrzymanego zamówienia:
Chcemy dodać klientowi kod kuponu na następny zakup i usunąć metodę płatności z górnej sekcji.
Chcemy go dodać nad sekcją szczegółów zamówienia.
Dlatego dodamy następujący kod w szablonie strony z podziękowaniami :
<?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.
Poniżej znajduje się szablon thankyou.php z mojego motywu:
<!--?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>
Oto wynik:
Ważne jest, aby pamiętać, że gdy już wiesz, jakie dane pochodzą z jakiego szablonu, wystarczy skopiować odpowiedni szablon do folderu wtyczki.
Wniosek
W tym poście dowiedziałeś się, jak nadpisać szablon otrzymanego zamówienia. Możesz użyć tej samej metody, aby dostosować inne szablony. Jeśli masz jakiekolwiek problemy, skonsultuj się z wykwalifikowanym programistą WordPress.
Podobne artykuły
- Przekierowanie WooCommerce po wylogowaniu [Najlepszy przewodnik]
- Ponad 100 porad, sztuczek i fragmentów Kompletny przewodnik po ukryciu WooCommerce
- Przekierowanie WooCommerce po realizacji transakcji: Przekierowanie na niestandardową stronę z podziękowaniami
- Jak usunąć tytuł kategorii produktu WooCommerce
- Jak przekierować stronę WordPress bez wtyczek?
- Jak przenieść główne menu Storefront WooCommerce
- Jak automatycznie zatwierdzać zamówienia w WooCommerce
- Jak usunąć tekst stopki wiadomości e-mail „Zbudowany za pomocą WooCommerce”
- Jak ukryć metody wysyłki w określonych warunkach?
- Jak wyczyścić koszyk przy wylogowaniu w WooCommerce
- Jak edytować szablon strony kasy WooCommerce
- Jak uzyskać identyfikator zamówienia na stronie kasy WooCommerce?
- Jak utworzyć niestandardowy obszar widżetów w WordPressie krok po kroku
- Jak sprawdzić, czy użytkownik jest zalogowany w WordPress
- Szybki przewodnik po optymalizacji kasy WooCommerce
- Jak uzyskać aktualną nazwę kategorii produktu w WooCommerce?
- Jak uzyskać metody płatności w WooCommerce » Przykład kodu
- Jak wymusić bezpieczną realizację transakcji w WooCommerce?
- Jak stworzyć kupon w WooCommerce
- Jak zmienić tytuł strony kasy WooCommerce?