Tworzę formularz kasy w stylu madlib przy użyciu dostosowywania pól kasy w WooTheme za pomocą akcji i filtrów .
W form-billing.php
przypadku tego połączenia wyświetlane są pola rozliczeniowe w szablonie kasy :
<?php foreach ($checkout->checkout_fields['billing'] as $key => $field) : ?>
<?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?>
<?php endforeach; ?>
Jak zmienić kolejność pojawiania się pól?
Kolejność prądu (domyślnie) pole jest:
imię
nazwisko
firma (ukryty dla mnie)
miasto / miasto
kod pocztowy
kraj
stan
e-mail
telefon
Domyślne zamówienie:
Chcę odpowiednie pola, aby być bardziej naturalnego porządku dla Amerykanów (gdzie mieszkam), więc:
imię
nazwisko
firma (ukryty dla mnie)
miasto / miasto
stan
kod pocztowy
kraj
email
telefon
Jak najlepiej to zrobić?
$fields['billing']['billing_country']['priority'] = 10;
$fields['billing']['billing_phone']['priority'] = 20;
Zobacz tutaj https://wordpress.org/support/topic/change-order-of-billing-fields-on-checkout-page/Dzięki Dbranes za odpowiedź.
Zastąpić:
Z:
źródło
Możesz zrobić kopię do swojego motywu i edytować szablon, który wyświetla formularz kasy.
Na podstawie dokumentacji wtyczki :
[aktualizacja]
W tym pliku, tuż przed pola jest drukowana, jest to hak działanie:
do_action('woocommerce_before_checkout_billing_form', $checkout);
.Tak więc wystarczy dodać tę akcję do motywu
functions.php
lub niestandardowej wtyczki i zmienić kolejność pól, tak jak OP pokazuje w odpowiedzi. Nie ma potrzeby zastępowania szablonu lub tak, jeśli konieczne są dalsze dostosowania.źródło
<?php do_action('woocommerce_checkout_billing'); ?>
hurtowe przemieszczanie się.