2016-06-11 4 views
3


을 woocommerce, 아래의 코드는에서 판매하는 데 사용됩니다 특정 "주":판매는 <strong>내 계정</strong> 페이지, 내가 특정 "도시"또는 "우편 번호"에서 판매하는 아래와 유사한 코드를 사용하려면 을

/** 
* Sell only in Alger & Zeralda 
*/ 

    function wc_sell_only_states($states) { 
     $states['DZ'] = array(
      'ALG' => __('Alger', 'woocommerce'), 
      'ZLD' => __('Zeralda', 'woocommerce'), 
     ); 
     return $states; 
    } 
    add_filter('woocommerce_states', 'wc_sell_only_states'); 

무엇을 사용하거나 수정해야합니까?

나는이 시도하지만 "오류 코드 500"을 표시

// define the woocommerce_countries_base_city callback 
function filter_woocommerce_countries_base_city($var) { 
    // make filter magic happen here... 
    $var['DZ'] = array(
     'ALG' => __('Alger', 'woocommerce'), 
     'ZLD' => __('Zeralda', 'woocommerce'), 
    ); 
    return $var; 
}; 

// add the filter 
add_filter('woocommerce_countries_base_city', 'filter_woocommerce_countries_base_city', 10, 1); 

고급에 감사합니다!

+0

불명확하거나 유용하지 않은 제 질문을 찾은 사람들이 저에게 무엇이 잘못되었는지 말해주십시오! –

+0

이것은 표준 wocommerce 후크가 아니지만 칠레 페소 플러그인의 일부입니까? 다음은 표준 WooCommerce 후크 목록입니다. -> https://docs.woothemes.com/wc-apidocs/hook-docs.html –

+0

여기에서 https://gist.github.com/woogist/b81742981ca6297b03e6을 발견했습니다. 나에게 도움이 되었어, 지금은 도시들만 지정해야 해. –

답변

0

시도해보십시오.

  add_filter('woocommerce_form_field_args', 'custom_form_field_args', 10, 3); 
      function custom_form_field_args($args, $key, $value) { 
       if ($args['id'] == 'billing_city') { 
       $args = array(
         'label' => __('Town/City', 'woocommerce'), 
         'required' => TRUE, 
         'clear' => TRUE, 
         'type' => 'select', 
         'options' => array(
          '' => ('Select City'), 
        'Bangalore' => ('Bangalore'), 
        'Mysore' => ('Mysore') 
        ), 
         'class' => array('update_totals_on_change') 
        ); 
       } // elseif … and go on 

       return $args; 
      }; 
+0

아마 당신은 코드가 무엇을하고 어떻게 문제를 해결의 일부 설명을 제공 할 수 있을까? – antfx

0

더 간단한 해결책이 있습니다. 접근법은 아래에 나열된 일부 가정에 따라 달라집니다.

가정 : 도시 필드를 설정하려는 도시가 하나만있는 경우 jQuery를 사용할 수 있습니다. jQuery를 사용하면 필드 값을 설정하고 필드를 비활성화하여 도시 필드 값의 변경을 피할 수 있습니다.

거친 예는 다음과 같습니다 당신은 그냥 체크 아웃 페이지에 실행되도록이 줄을 추가해야

jQuery('#billing_city').val('USA').attr('disabled','disabled'); 

.