【问题标题】:Uncommenting in Woocommerce template在 Woocommerce 模板中取消注释
【发布时间】:2026-01-28 22:15:02
【问题描述】:

我对 PHP 没有太多经验,想知道是否有人可以帮我取消注释 Woocommercethankyou.php 模板中的几行,该模板可在此处找到:https://github.com/woocommerce/woocommerce/blob/master/templates/checkout/thankyou.php。我需要从第 43-77 行删除订单详细信息:

    <ul class="woocommerce-order-overview woocommerce-thankyou-order-details order_details">

        <li class="woocommerce-order-overview__order order">
            <?php _e( 'Order number:', 'woocommerce' ); ?>
            <strong><?php echo $order->get_order_number(); ?></strong>
        </li>

        <li class="woocommerce-order-overview__date date">
            <?php _e( 'Date:', 'woocommerce' ); ?>
            <strong><?php echo wc_format_datetime( $order->get_date_created() ); ?></strong>
        </li>

        <li class="woocommerce-order-overview__total total">
            <?php _e( 'Total:', 'woocommerce' ); ?>
            <strong><?php echo $order->get_formatted_order_total(); ?></strong>
        </li>

        <?php if ( $order->get_payment_method_title() ) : ?>

        <li class="woocommerce-order-overview__payment-method method">
            <?php _e( 'Payment method:', 'woocommerce' ); ?>
            <strong><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></strong>
        </li>

        <?php endif; ?>

    </ul>

<?php endif; ?>

<?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?>
<?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?>

感谢您的帮助!

【问题讨论】:

  • “取消注释”是什么意思?您的代码中没有 cmets。
  • 我不明白问题出在哪里。如果您想删除/评论模板的一部分,您只需从原始文件中删除/评论 html(就像您已经做过的那样)。然后你只需要将这个文件放在 path-to-your-theme-folder/woocommerce/checkout/thankyou.php 中,它就会生效(如果文件夹不存在则创建)
  • 您想从模板中删除哪些内容(部分)?你能描述更多吗?

标签: php wordpress templates woocommerce orders


【解决方案1】:

这个问题不清楚。我想您希望我们帮助您在该 checkout/thankyou.php 模板上评论部分代码,以删除第 43 行到第 77 行的一些信息……

所以你的模板代码将是:

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}
?>

<div class="woocommerce-order">

    <?php if ( $order ) : ?>

        <?php if ( $order->has_status( 'failed' ) ) : ?>

            <p class="woocommerce-notice woocommerce-notice--error 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-notice woocommerce-notice--error 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 endif; /* else: ?>

            <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', __( 'Thank you. Your order has been received.', 'woocommerce' ), $order ); ?></p>

            <ul class="woocommerce-order-overview woocommerce-thankyou-order-details order_details">

                <li class="woocommerce-order-overview__order order">
                    <?php _e( 'Order number:', 'woocommerce' ); ?>
                    <strong><?php echo $order->get_order_number(); ?></strong>
                </li>

                <li class="woocommerce-order-overview__date date">
                    <?php _e( 'Date:', 'woocommerce' ); ?>
                    <strong><?php echo wc_format_datetime( $order->get_date_created() ); ?></strong>
                </li>

                <li class="woocommerce-order-overview__total total">
                    <?php _e( 'Total:', 'woocommerce' ); ?>
                    <strong><?php echo $order->get_formatted_order_total(); ?></strong>
                </li>

                <?php if ( $order->get_payment_method_title() ) : ?>

                <li class="woocommerce-order-overview__payment-method method">
                    <?php _e( 'Payment method:', 'woocommerce' ); ?>
                    <strong><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></strong>
                </li>

                <?php endif; */ ?>

            </ul>

        <?php endif; ?>

        <?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', __( 'Thank you. Your order has been received.', 'woocommerce' ), null ); ?></p>

    <?php endif; ?>

</div>

我希望就是这样……


官方文档:Template Structure + Overriding Templates via a Theme

【讨论】:

    【解决方案2】:

    在 WooCommerce 中覆盖模板非常简单,您只需将要编辑的模板文件复制到 YOUR_THEME/woocommerce/ 目录并编辑/添加/删除您想要的任何内容。

    在您的情况下,您只需将位于 wp-content/plugins/woocommerce/templates/checkout/thankyou.php 的模板文件复制到 wp-content/themes/YOUR_THEME/woocommerce/checkout 即可。

    【讨论】:

      【解决方案3】:

      请注意,您覆盖子主题中的模板文件,否则更新主题后您将丢失更改。

      儿童主题创建过程:

      • 在主题目录中创建一个文件夹并将其命名为 yourthemename-child
      • 创建一个 style.css 文件并将此注释放入其中 /* 主题名称:二十五岁的孩子 说明:二十五儿童主题 模板:parent_theme_name 您也可以在此处添加其他属性 */

      【讨论】: