В некоторых странах 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)