在我的WooCommerce商店下订单后,客户被重定向到感谢(订单收到)页面。
我想隐藏WooCommerce在该页面上生成的所有详细信息,以便它只显示我在页面顶部显示的自定义内容。
我尝试使用一些自定义CSS display:none;
,但没有任何合适的选择器可供选择。
如何隐藏:
答案 0 :(得分:3)
可以通过多种方式完成,其中一种方法是使用WooCommerce template override。
复制此文件
/wp-content/plugins/woocommerce/templates/checkout/thankyou.php
并将其粘贴到您的活动主题目录中
/wp-content/themes/activetheme/woocommerce/checkout/thankyou.php
并删除此
<ul class="woocommerce-thankyou-order-details order_details">
<li class="order">
<?php _e( 'Order Number:', 'woocommerce' ); ?>
<strong><?php echo $order->get_order_number(); ?></strong>
</li>
<li class="date">
<?php _e( 'Date:', 'woocommerce' ); ?>
<strong><?php echo date_i18n( get_option( 'date_format' ), strtotime( $order->order_date ) ); ?></strong>
</li>
<li class="total">
<?php _e( 'Total:', 'woocommerce' ); ?>
<strong><?php echo $order->get_formatted_order_total(); ?></strong>
</li>
<?php if ( $order->payment_method_title ) : ?>
<li class="method">
<?php _e( 'Payment Method:', 'woocommerce' ); ?>
<strong><?php echo $order->payment_method_title; ?></strong>
</li>
<?php endif; ?>
</ul>
<div class="clear"></div>
并删除此
<?php do_action( 'woocommerce_thankyou_' . $order->payment_method, $order->id ); ?>
<?php do_action( 'woocommerce_thankyou', $order->id ); ?>
所以你的最终thankyou.php
将会是这样的。
if (!defined('ABSPATH'))
{
exit;
}
if ($order) :
?>
<?php if ($order->has_status('failed')) : ?>
<p class="woocommerce-thankyou-order-failed"><?php _e('Unfortunately your order cannot be processed as the originating bank/merchant has declined your transaction. Please attempt your purchase again.', 'woocommerce'); ?></p>
<p class="woocommerce-thankyou-order-failed-actions">
<a href="<?php echo esc_url($order->get_checkout_payment_url()); ?>" class="button pay"><?php _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 _e('My Account', 'woocommerce'); ?></a>
<?php endif; ?>
</p>
<?php else : ?>
<p class="woocommerce-thankyou-order-received"><?php echo apply_filters('woocommerce_thankyou_order_received_text', __('Thank you. Your order has been received.', 'woocommerce'), $order); ?></p>
<?php endif; ?>
<?php else : ?>
<p class="woocommerce-thankyou-order-received"><?php echo apply_filters('woocommerce_thankyou_order_received_text', __('Thank you. Your order has been received.', 'woocommerce'), null); ?></p>
<?php endif; ?>
希望这有帮助!