隐藏 WooCommerce 谢谢页面订单详情

Gav*_*son 4 css php wordpress woocommerce

在我的 WooCommerce 商店下订单后,客户会被重定向到感谢(已收到订单)页面。

我想隐藏 WooCommerce 在该页面上生成的所有详细信息,以便它只显示我在页面顶部显示的自定义内容。

我曾尝试使用一些自定义 CSS,display:none;但没有任何合适的选择器可供选择。

我如何隐藏:

  1. 订单详细信息
  2. 顾客信息
  3. 帐单地址
  4. 订单号
  5. 日期
  6. 全部的
  7. 付款方法

在此处输入图片说明

Rau*_*pta 11

它可以通过多种方式完成,其中一种方式是使用WooCommerce 模板覆盖

复制这个文件

/wp-content/plugins/woocommerce/templates/checkout/thankyou.php
Run Code Online (Sandbox Code Playgroud)

并将其粘贴到您的活动主题目录中,如下所示

/wp-content/themes/activetheme/woocommerce/checkout/thankyou.php
Run Code Online (Sandbox Code Playgroud)

并删除这个

<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>
Run Code Online (Sandbox Code Playgroud)

并删除这个

<?php do_action( 'woocommerce_thankyou_' . $order->payment_method, $order->id ); ?>
<?php do_action( 'woocommerce_thankyou', $order->id ); ?>
Run Code Online (Sandbox Code Playgroud)

所以你的决赛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; ?>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

  • 我意识到这是一个旧的答案,但对于未来的读者来说:删除“woocommerce_thankyou”挂钩并不是一个好主意。可能有各种类型的集成依赖于该钩子的到位。请改用 `remove_action('woocommerce_thankyou', 'woocommerce_order_details_table', 10);`。 (4认同)