Стандартная страница thank you в Woocommerce
Ситуация следующая. Есть сайт с самопальной темой, на которой стоит woocommerce. После оформления заказа должна открываться страница Thank you (спасибо за заказ с указанными введенными данными). Но при переходе на эту страницу вылазит Критическая ошибка
Fatal error: Uncaught Error: Call to a member function get_id() on string in /home/f/fatcatxi/fatcatxi.beget.tech/public_html/wp-content/themes/fatcatvape/thankyou.php:28 Stack trace: #0 /home/f/fatcatxi/fatcatxi.beget.tech/public_html/wp-includes/template-loader.php(106): include() #1 /home/f/fatcatxi/fatcatxi.beget.tech/public_html/wp-blog-header.php(19): require_once('/home/f/fatcatx...') #2 /home/f/fatcatxi/fatcatxi.beget.tech/public_html/index.php(17): require('/home/f/fatcatx...') #3 {main} thrown in /home/f/fatcatxi/fatcatxi.beget.tech/public_html/wp-content/themes/fatcatvape/thankyou.php on line 28
Дефолтный код шаблона страницы Thank you не менял, вот он:
<div class="woocommerce-order">
<?php
if ( $order ) :
do_action( 'woocommerce_before_thankyou', $order->get_id() );
?>
<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>
<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>
</ul>
<?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; ?>
При этом если установить тему Astra то этот шаблон открывается и все отображается. Что мне надо сделать в своей теме, чтобы не было данной ошибки?
Источник: Stack Overflow на русском