спасибо за наводку на плагин, в идеале хотелось бы решить вопрос без установки плагина, прописать функцию по аналогии с тем, как это делается для оформления. Нет ли аналогичного способа для полей в аккаунте?
unset($fields['billing']['billing_company']);
е хотелось бы решить вопрос без установки плагина
плагинофобия обычно лечится понимание процесса
если вопрос решается парой строчек кода, то плагин ставить нецелесообразно. А вот если это острая потребность в доп.функционале, то конечно ничего страшного в плагинах нет.
Но мне удалось самостоятельно решить вопрос. Если кому-то пригодится, то убрать лишние поля в аккаунте в форме редактирования платёжного адреса можно следующим образом:
function remove_adress_form_fields($fields) {
unset( $fields ['company'] );
unset( $fields ['address_2'] );
unset( $fields ['postcode'] );
unset( $fields ['state'] );
return $fields;
}
add_filter( 'woocommerce_default_address_fields', remove_adress_form_fields' );
А вот вопрос с сортировкой пока не решила. Данный код почему-то не срабатывает в аккаунте.
$fields["email"]["priority"] = 3;
Появится задача сменить тему на другую и сразу же окажется что «пара строчек кода» — была самая плохая идея, т.к. теперь придется половину делать заново.
И это — самая очевидная причина глупости фразы «если вопрос решается парой строчек кода, то плагин ставить нецелесообразно.»
мне нужно натянуть макет и кастомизировать конкретную тему, а не разработать плагин. Поэтому то, что вы пишите в моём случае не актуально. Смена темы предполагает другой макет и внешний вид. Соответственно мои строчки кода там не нужны будут в принципе.
Соответственно мои строчки кода там не нужны будут в принципе.
хорошо-хорошо, главное не волнуйтесь.
ну и мои слова на всякий случай запомните.
я не волнуюсь) с чего бы? функции хорошая штука, когда чего-то не хватает.
По поводу сортировки. Вдруг кому пригодится! Оказалось сортировка и настройка основных полей, а email и phone в аккаунте делается отдельным хуком.
//Меняем основные поля
add_filter( 'woocommerce_default_address_fields', 'rpf_edit_default_address_fields', 100, 1 );
function rpf_edit_default_address_fields($fields) {
$fields['first_name']['priority'] = 20;
$fields['last_name']['priority'] = 30;
$fields['address_1']['priority'] = 50;
$fields['city']['priority'] = 40;
$fields['city']['label'] = 'Город';
return $fields;
}
//Отдельно меняем phone и email
add_filter( 'woocommerce_billing_fields', 'custom_billing_fields', 20, 1 );
function custom_billing_fields( $fields ) {
unset($fields['billing_email']);
$fields['billing_phone']['priority'] = 40;
return $fields;
}
-
Ответ изменён 2 года, 3 месяца назад пользователем elena11.