Navigation

Anpassat fält i WooCommerce kassa

Lägg till ett anpassat fält i WooCommerce kassa

Ibland kan man ju, av någon anledning, vilja ha ett extra fält i kassan som kunden måste fylla i för att kunna komma vidare. Dessutom vill man ju gärna ha det kopplat till den ordern som kunden lägger. Vad är liksom vitsen med att ha fältet där annars? Jag hjälpte en bekant som jobbar med försäljning via Instagram att lägga in detta fält i kassan. Kunderna måste ange sitt namn på Instagram för att kunna komma vidare.

Det går att lösa, men det kräver att du har ett barntema installerat och aktiverat. Koden nedan snickrade jag ihop när Intertech var tämligen nystartat:

/**
 * Intertech
 * Chrille Hedberg
 * chrille@intertech.se
 */

// Lägger till fältet i checkout

add_action( 'woocommerce_after_order_notes', 'intertech_eget_falt_i_kassan' );

function intertech_eget_falt_i_kassan( $checkout ) {

    woocommerce_form_field( '_anpassat_falt_i_kassa', array(
        'type'          => 'text',
        'class'         => array('my-field-class form-row-wide'),
        'label'         => __('Etikett för fält'), //Byt etikett på fältet här
        'placeholder'   => __(''),
        'required'		=> 'true',
        ), $checkout->get_value( '_anpassat_falt_i_kassa' ));

    echo '</div>';

}

// Kollar att något verkligen finns ifyllt i fältet

add_action('woocommerce_checkout_process', 'intertech_anpassat_falt_checkup');

function intertech_anpassat_falt_checkup() {

    if ( ! $_POST['_anpassat_falt_i_kassa'] )
        wc_add_notice( __( 'Felmeddelande anges här.' ), 'error' ); //Ange felmeddelande här
}

// Skriver till meta

add_action( 'woocommerce_checkout_update_order_meta', 'intertech_skriv_anpassat_falt_till_meta' );

function intertech_skriv_anpassat_falt_till_meta( $order_id ) {

    if ( ! empty( $_POST['_anpassat_falt_i_kassa'] ) ) {
        update_post_meta( $order_id, '_anpassat_falt_i_kassa', sanitize_text_field( $_POST['_anpassat_falt_i_kassa'] ) );
        
    }
}

// Lägger till funktion i backend, visar i orderhuvud

add_action( 'woocommerce_admin_order_data_after_billing_address', 'visa_anpassat_falt_i_admin', 10, 1 );

function visa_anpassat_falt_i_admin($order){
    echo '<p><strong>'.__('Rubrik före fält').':</strong><br> ' . get_post_meta( $order->id, '_anpassat_falt_i_kassa', true ) . '</p>';
}

Då kommer du få detta fält i botten på kassan:

Anpassat fält i WooCommerce Kassa

Naturligtvis kan du justera rubriken till att vara vad som helst än ”etikett för fält”. Ändrar du ’required’ => ’true’ till ’false’ så är fältet inte obligatoriskt.

Vill du läsa mer om hookar till WooCommerce finns det en hel del i dokumentationen.

Ett annat anpassat fält i WooCommerce kan ju läggas till i administrationen av produkter. Vill du veta hur du lägger till extra fält på produkter kan du läsa denna artikel.

Så enkelt lägger man till ett anpassat fält i WooCommerce. 🙂

Vad tycker du?

Jag vill gärna höra dina tankar. Kommentera nedan eller nå mig på LinkedIn.

0 0 röster
Article Rating
Prenumerera
Meddela vid
guest
0 Kommentarer
Äldsta
Senaste Mest omröstade
Inline feedback
Visa alla kommentarer

Relaterade inlägg

Vad är ett förlossningsbrev och varför är det bra att ha?
Vård
Vad är ett förlossningsbrev?

Inför en förlossning är det en strålande iidé att skriva ett förlossningsbrev! En förlossning är en av livets mest intensiva upplevelser. Det är också en

Chrille Hedberg logotyp
Chrille Hedberg

Använd gärna detta formulär för att komma i kontakt med mig.

0
Lämna gärna en kommentarx
()
x