Покажите текстовое поле для государства в woocommerce для определенных c стран - PullRequest
0 голосов
/ 15 апреля 2020

В некоторых странах woocommerce есть поле, в котором поле State вообще не видно, и я хотел бы иметь возможность указать их в указанных c странах в качестве обязательного текстового поля.

Я пытался несколько решений, которые я нашел здесь, но все они кажутся старыми сообщениями или, по крайней мере, я не смог заставить их работать.

Я нашел две очень похожие версии одного и того же фрагмента, одна из которых выдает кучу ошибок Страница оформления заказа, а другая выше, которая просто не работает, она добавляет текстовое поле для доставки по всем странам, а не только по Франции:

function xa_filter_woocommerce_states( $states ) { 
    unset( $states['FR'] );
    var_dump( $states ) ;
    return $states;
};
add_filter( 'woocommerce_states', 'xa_filter_woocommerce_states', 10, 1 );

function xa_filter_woocommerce_get_country_locale( $locale ) { 
    $locale['FR']['state']['required'] = true;
    return $locale; 
};
add_filter( 'woocommerce_get_country_locale', 'xa_filter_woocommerce_get_country_locale', 10, 1 );

Это работает нормально, оно делает то, что мне нужно, но он выбрасывает некоторый текст (не похоже, что ошибки) на страницу оформления заказа, как в:

array (76) {["AF"] => array (0) {} ["AO "] => array (18) {[" B GO "] => string (5)" Ben go "[" BLU "] => string (8)" Benguela "[" B IE " ] => string (4) "Bié" ["CAB"] => string (7) "Cabinda" ["CNN"] => string (6) "Cunene" ["HUA"] => string (6) " Huambo "[" HUI "] => string (6)" Huíla "[" CCU " ] => string (14) "Kuando Kuban go" ["CNO"] => string (12) "Kwanza-Norte" ["CUS"] => string (10) "Kwanza-Sul" ["LUA "] => string (6)" Luanda "[" LNO "] => string (11)" Lunda-Norte "[" LSU "] => string (9)

1 Ответ

0 голосов
/ 15 апреля 2020

Я обнаружил, что приведенный выше код работает просто отлично, и «ошибки» на экране - это не ошибки, а дамп из переменной. Итак, убрав 1 строку из приведенного выше кода, добьемся цели:

function xa_filter_woocommerce_states( $states ) { 
    unset( $states['FR'] );
    return $states;
};
add_filter( 'woocommerce_states', 'xa_filter_woocommerce_states', 10, 1 );

function xa_filter_woocommerce_get_country_locale( $locale ) { 
    $locale['FR']['state']['required'] = true;
    return $locale; 
};
add_filter( 'woocommerce_get_country_locale', 'xa_filter_woocommerce_get_country_locale', 10, 1 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...