czasem może wyniknąć potrzeba otrzymać dodatkową informację od klientów. Na przykład, chcemy zapytać ich skąd się dowiedzieli o naszym sklepie www? W tym przypadku do standardowego formularzu zamówienia należy dodać nowe pole. Zrobić to można w prosty sposób, modyfikując plik functions.php motywu domyślnego.
Przejść do pliku functions.php motywu można za pomocą menadżera plików, połączenia ftp oraz wbudowanego edytora WordPress. Skorzystamy się z ostatniego sposobu. W panelu administracyjnym przejdziemy do sekcji Wygląd – Edytor. Po lewej stronie wybierzemy odpowiedni plik functions.php i otworzymy go. Na samym końcu należy dodać następujący kod:
<?php
/**
* Dodajemy nowe pole do formularzu zamówienia
*/
add_action( 'woocommerce_after_order_notes’, 'my_custom_checkout_field’ );
function my_custom_checkout_field( $checkout ) {
echo '<div id=”my_custom_checkout_field”><h2>’ . __(’Dodatkowe pole’) . '</h2>’;
woocommerce_form_field( 'my_field_name’, array(
'type’ => 'text’,
'class’ => array(’my-field-class form-row-wide’),
'label’ => __(’Skąd się o nas dowiedziałeś’),
'placeholder’ => __(’Wpisz odpowiedź’),
), $checkout->get_value( 'my_field_name’ ));
echo '</div>’;
}
W tym kodzie mamy funkcję my_custom_checkout_field, która do formularzu zamówienia dodaje pole „Skąd się o nas dowiedziałeś”
Jak widać z rysunku 3 dodaliśmy własne pole do formularza zamówienia. Jednak jego wypełnienie nie jest wymagane dla realizacji zakupu. Jeśli chcesz, aby to pole było wymagane, do pliku functions.php należy dodać następny kod:
Jak widać z rysunku 3 dodaliśmy własne pole do formularza zamówienia. Jednak jego wypełnienie nie jest wymagane dla realizacji zakupu. Jeśli chcesz, aby to pole było wymagane, do pliku functions.php należy dodać następny kod:
<?php
/**
* Wymagane pole
*/
add_action(’woocommerce_checkout_process’, 'my_custom_checkout_field_process’);
function my_custom_checkout_field_process() {
// Sprawdzamy, czy jest podane pole zostało wypełnione.
if ( ! $_POST[’my_field_name’] )
wc_add_notice( __( 'Prosimy podać odpowiedź w nasze nowe pole’ ), 'error’ );
}
?>