我对一个产品使用WooCommerce会员资格,其余的WooCommerce产品都是通用产品。
我将此代码用于此topic
我使用此代码来自定义WooCommerce结帐页面上的电子邮件。如何指定如果产品需要注册,则需要发送电子邮件?
    add_filter( 'woocommerce_billing_fields', 'ts_unrequire_wc_email_field');
function ts_unrequire_wc_email_field( $fields ) {
$fields['billing_email']['required'] = false;
return $fields;
}发布于 2021-08-26 10:22:38
试试这个:
add_filter('woocommerce_checkout_fields', 'woo_email_validation', 20);
function woo_email_validation($fields){
    $fields['billing']['billing_email']['required'] = true; // true => required | false => not required
    return $fields;
}发布于 2021-08-26 11:24:06
我希望当其中一个产品需要使用以下代码进行注册时,需要提供电子邮件:
// Code goes in theme functions.php or a custom plugin
add_filter( 'pre_option_woocommerce_enable_guest_checkout', 'conditional_guest_checkout_based_on_product' );
function conditional_guest_checkout_based_on_product( $value ) {
  $restrict_ids = array( 1, 2, 3 ); // Replace with product ids which cannot use guest checkout
  if ( WC()->cart ) {
    $cart = WC()->cart->get_cart();
    foreach ( $cart as $item ) {
      if ( in_array( $item['product_id'], $restrict_ids ) ) {
        $value = "no";
        break;
      }
    }
  }
  return $value;
}在其他可以作为客人购买产品的情况下,不需要电子邮件。
https://stackoverflow.com/questions/68926214
复制相似问题