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
 * [email protected]
 */

// 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. 🙂

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

Häxjakt 2025 - hemförlossning
Hälsa & Sjukvård
Stora häxjakten 2025 – hemförlossningar

Tragikomiken är stor när jag läser Ann-Charlotte Marteus ledarartikel som Expressen publicerade under söndagen den 19 oktober. Inte bara för att hennes retorik är väldigt

Chrille Hedberg logotyp
Chrille Hedberg

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

Hej! Vad kul att du är här!

Hemsidan har precis fått sig en rejäl ansiktslyftning! Allt gammalt innehåll sopades och den nya byggdes upp på nytt. Vissa länkar kan därför vara lite knas att funkera, och vissa bloggkategorier saknar innehåll.

Hoppas ändå att du trivs här! Tjoa gärna till om det är något!

Som många andra webbplatser kör jag cookies på denna. Du kan också, frivilligt, välja att använda ett konto från sociala medier för att logga in och kommentera. Du kan när som helst återkalla detta och/eller radera din profil.

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