定制WooCommerce review-order.php结账模板

7

我正在使用WooCommerce和一个子主题进行工作。我已经创建了我的结构,

/themes/child/woocommerce/checkout/review-order.php

我的目标只是向页面添加一些“静态文本”。例如,<h2>购买免责声明</h2>

review-order.php 内部。

<?php
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}
?>
<h2>Purchase Disclaimer</h2>

我的问题是,当我查看页面时,它会突然消失。
<h2>Purchase Disclaimer</h2>
<h2>Purchase Disclaimer</h2>

我不知道为什么它似乎要加载两次。这是一个故障,还是我加载方式有问题?也许有人可以帮我澄清这个问题。
提前致谢。
1个回答

10

结账时,首先加载评审订单表,然后通过ajax进行第二次加载(应该是为了更新目的),因此您需要使用一些条件来避免这种情况:

<?php if(!defined( 'DOING_AJAX' )): ?>
<h2>Purchase Disclaimer</h2>
<?php endif; ?>

<h3 id="order_review_heading">Your order</h3> 中已经使用了 <h2> 标签,因此应避免使用该标签。

作为替代方案,您可以在 woocommerce_checkout_before_order_review 钩子中使用钩子函数:

add_action('woocommerce_checkout_before_order_review', 'my_custom_funtion');
function my_custom_funtion(){
    ?>
        <h2>Purchase Disclaimer2</h2>
    <?php
}

这段代码应该放在你当前使用的子主题(或主题)的function.php文件中,也可以放在任何插件的php文件中。

太好了,谢谢。是的,我只是举个例子,抱歉。我将尝试使用钩子。谢谢。 - Justin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接