2014-12-10 7 views
1

PHP 체크 아웃 페이지의 청구 필드에서 필수 별표를 제거 할 수 있습니까? 다음 코드는 작동하지 않습니다.Woocommerce 체크 아웃 페이지의 필수 입력란에서 별표를 제거하십시오.

add_filter('woocommerce_checkout_fields' , 'customize_fields'); 

function customize_fields($fields) { 
    $fields['billing']['billing_address_2']['required'] = false; 

    return $fields; 
} 
+0

당신이 http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/을 반드시 읽어나요? 코드가 작동하지 않는다면 다른 문제가 발생할 수 있습니다. 내 제안은 체크 아웃을 표시하고 문제가 여전히 존재하는지 확인하기 위해 기본 템플릿을 사용하는 것입니다. – thanassis

답변

1

아마 CSS로 수행 및 화면 판독기에 대한 더 깨끗하고 더 나은하는 것이 더 쉽습니다 :

.woocommerce-checkout abbr.required { 
     display: none; 
    } 

.woocommerce-checkout은 그것을 그렇게 체크 아웃 페이지에 추가 된 몸 클래스입니다 abbr 요소에 .required 클래스가있는 다른 우애 페이지에는 영향을주지 않습니다. 체크 아웃 필드를 관리 할 수있는 두 개의 필터가 있습니다

// Hook in 
add_filter('woocommerce_default_address_fields' , 'custom_override_default_address_fields'); 

// Our hooked in function - $address_fields is passed via the filter! 
function custom_override_default_address_fields($address_fields) { 
    $address_fields['address_2']['required'] = false; 

    return $address_fields; 
} 
+0

죄송합니다. 충분히 명확하지 않았습니다. 별표 자체를 숨기고 싶지는 않지만 필수 기능입니다. 주문을하기 위해 특정 필드를 채우고 싶지 않습니다. – vytfla

+0

답을 업데이트했습니다. – Aibrean

+0

흠. 작동하지 않습니다. – vytfla

2

:

는 기능이 필요하지 않은 분야를 확인하십시오. woocommerce_checkout_fields 필터를 사용하여 필드를 "필요하지 않음"으로 설정할 수 있지만 빨간색 별표는 제거되지 않습니다.

필터로 기본 주소 필드를 처리 할 때 woocommerce_default_address_fields 필터와 기본값이 변경 내용을 무시할 수 있기 때문에 일부 변경 내용이 적용되지 않습니다.

부분적으로 만 기능 코드 :

function custom_override_checkout_fields($fields) { 
    $fields['billing']['billing_address_1']['required'] = false ; 
    return $fields; 
} 
add_filter('woocommerce_checkout_fields' , 'custom_override_checkout_fields'); 

주소 필드 (# 1) 더 이상 필요하지만 여전히 빨간색 별표가되지 않습니다.

완전 기능 코드 :

function custom_override_default_address_fields($address_fields) { 
    $address_fields['address_1'][ 'required' ] = false; 
    return $address_fields; 
} 
add_filter('woocommerce_default_address_fields' , 'custom_override_default_address_fields'); 

는 이제이 필드가 필요하지 않습니다, 그리고 빨간색 별표가 사라 졌어요. "당신이 woocommerce_default_address_fields 필터를 사용할 필요가 일부 특정 경우에 가.이 필터는 모든 청구 및 배송 기본 필드에 적용됩니다."고

Documentation says

0

당신은 당신의 기능에 다음 코드를 추가해야합니다. PHP 파일. 아래의 예는 우편 번호입니다 :

/* Seteaza campul Cod postal ne-obligatoriu */ 
    add_filter('woocommerce_billing_fields', 'wc_npr_filter_postcode', 10, 1); 
function wc_npr_filter_postcode($address_fields) { 
    $address_fields['billing_postcode']['required'] = false; 
    return $address_fields; 
} 
/* End - Seteaza campul Cod postal ne-obligatoriu */ 
관련 문제