【问题标题】:Add custom checkout fields below the terms and conditions in Woocommerce在 Woocommerce 中的条款和条件下方添加自定义结帐字段
【发布时间】:2018-07-24 19:00:35
【问题描述】:

我使用 Woocommerce 建立了一个电子商务网站。我想在条款和条件下方再添加两个复选框。我到处寻找可行的解决方案,唯一找到的是商业插件。

如何以编程方式在条款和条件下方添加自定义结帐字段(2 个复选框)?

条款和条件截图的位置:

【问题讨论】:

  • 我不认为 PHP 是解决方案。您也许可以更改条款的模板。您应该查看此内容的来源并尝试覆盖模板。如果它不在模板中,它可能连接到一个“钩子”。
  • 我在互联网上查看,发现有一种方法可以将它添加到我所做的模板中,但它没有工作。
  • @LoicTheAztec 是的,我刚刚做到了。

标签: php wordpress checkbox woocommerce checkout


【解决方案1】:
  • 第一个挂钩函数显示 2 个额外的结帐字段
  • 第二个挂钩函数将检查两个复选框是否都“选中”以允许结帐,如果没有则显示自定义错误通知...

代码:

add_action('woocommerce_checkout_before_terms_and_conditions', 'checkout_additional_checkboxes');
function checkout_additional_checkboxes( ){
    $checkbox1_text = __( "My first checkbox text", "woocommerce" );
    $checkbox2_text = __( "My Second checkbox text", "woocommerce" );
    ?>
    <p class="form-row custom-checkboxes">
        <label class="woocommerce-form__label checkbox custom-one">
            <input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="custom_one" > <span><?php echo  $checkbox1_text; ?></span> <span class="required">*</span>
        </label>
        <label class="woocommerce-form__label checkbox custom-two">
            <input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="custom_two" > <span><?php echo  $checkbox2_text; ?></span> <span class="required">*</span>
        </label>
    </p>
    <?php
}

add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');

function my_custom_checkout_field_process() {
    // Check if set, if its not set add an error.
    if ( ! $_POST['custom_one'] )
        wc_add_notice( __( 'You must accept "My first checkbox".' ), 'error' );
    if ( ! $_POST['custom_two'] )
        wc_add_notice( __( 'You must accept "My second checkbox".' ), 'error' );
}

代码进入您的活动子主题(活动主题)的 function.php 文件中。

经过测试并且有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 2018-08-07
    • 2022-01-20
    • 2019-12-29
    • 2018-02-04
    • 1970-01-01
    相关资源
    最近更新 更多