移动术语和条件复选框到购物车页面 - Woocommerce

时间:2017-04-20 21:18:52

标签: php wordpress woocommerce

我目前在结帐页面上添加了一个复选框,用于接受条款和条件。我想将其移至购物车页面,因此他们必须勾选此选项才能进入结帐页面。

这是我的职能,这可能吗?

add_action('woocommerce_review_order_before_submit', 'add_checkout_tickbox', 9);

function add_checkout_tickbox() { ?>

<p class="form-row terms">
<input type="checkbox" class="input-checkbox" name="terms" id="terms" />
<label for="terms" class="checkbox">I accept I've seen the below terms</label>
<a href="/terms" class="btn-primary">See the terms</a>
</p>

<?php }

// Show notice if customer does not tick

add_action('woocommerce_checkout_process', 'not_approved');

function not_approved() {
    if ( ! $_POST['terms'] )
        wc_add_notice( __( 'Please acknowledge the terms and conditions' ), 'error' );
}

谢谢!

1 个答案:

答案 0 :(得分:0)

我不能说这会100%有效,因为我自己没有尝试过但是尝试......

如果您不是主题开发人员,建议您先创建一个儿童主题。 Follow these steps, if needed >>>

然后,您需要安装WordPress插件Simply Show Hooks。成功安装所述插件后,您只需访问每个网页,即可查看网页上的所有HooksActions

接下来,如果适用,请进入您的儿童主题中的functions.php文件,然后输入: remove_action('woocommerce_review_order_before_submit', 'add_checkout_tickbox', 9);

这将删除该复选框。如果您正在处理父主题中的functions.php文件,请确保在 add_action('woocommerce_review_order_before_submit', 'add_checkout_tickbox', 9);之后添加此条目。对于父级和子级主题条目,请确保优先级9保持不变。

然后,您前往购物车页面,查找您要放置复选框的相关挂钩。您应该会在页面上的绿色框中看到挂钩。找到您的Hook后,您只需输入附加的编码,将woocommerce_review_order_before_submit替换为您想要的Hook。例如:

add_action('YOUR_DESIRED_HOOK', 'add_checkout_tickbox', 9);

function add_checkout_tickbox() { ?>

<p class="form-row terms">
<input type="checkbox" class="input-checkbox" name="terms" id="terms" />
<label for="terms" class="checkbox">I accept I've seen the below terms</label>
<a href="/terms" class="btn-primary">See the terms</a>
</p>

<?php }

查看代码后,您确定{ ?><?php }应该在那里吗?这看起来像是一个错误,但我可能是错的。如果这不起作用,请尝试删除?><?php

一旦您对搬迁感到满意,您就可以卸载/禁用Simply Show Hooks插件,直到再次需要它为止。

正如我所说的那样,我自己并没有这样做,所以不能说它会100%有效,但确实让我们知道你是怎么做的。