簡體   English   中英

在 Woocommerce 中的條款和條件下方添加自定義結帳字段

[英]Add custom checkout fields below the terms and conditions in Woocommerce

我已經使用 Woocommerce 建立了一個電子商務網站。 我想在條款和條件下方再添加兩個復選框。 我到處尋找可行的解決方案,唯一找到的是商業插件。

如何以編程方式在條款和條件下方添加自定義結帳字段(2 個復選框)?

條款和條件截圖的位置:

條款和條件下方的兩個復選框

  • 第一個掛鈎函數顯示 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 文件中。

測試和工作。

在此處輸入圖片說明

在此處輸入圖片說明

顯示所選產品類別的附加復選框的代碼是什么樣的?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM