在 Woocommerce 的 Botiga 主题模板中,添加一个复选框到政策行。
可用以下代码示例实现:
// 添加复选框到政策行 add_filter( 'woocommerce_get_policy_page_id', 'add_checkbox_to_policy', 10, 1 ); function add_checkbox_to_policy( $policy_page_id ) { // 获取复选框状态 $policy_checkbox = isset( $_POST['policy_checkbox'] ) ? 'yes' : 'no';
// 添加复选框到政策行
echo ' ';
return $policy_page_id;
}
// 验证复选框是否已选中 add_action( 'woocommerce_checkout_process', 'validate_checkbox' ); function validate_checkbox() { if ( ! isset( $_POST['policy_checkbox'] ) ) { wc_add_notice( __( '请先同意政策.' ), 'error' ); } }
// 保存复选框状态 add_action( 'woocommerce_checkout_create_order', 'save_checkbox_to_order_meta', 10, 2 ); function save_checkbox_to_order_meta( $order, $data ) { if ( isset( $_POST['policy_checkbox'] ) ) { $order->update_meta_data( 'policy_checkbox', 'yes' ); } }