WooCommerce

10 užitečných WooCommerce snipettů, které často používám

monitor a klávesnice
Autor příspěvku Tomáš Cirkl

WooCommerce je jednoznačně nejrozšířenější ecommerce plugin pro WordPress. V tomto článku jsem dal dohromady své často používané WooCommerce snippety.

Tvorba odkazu pro vložení produktu do košíku

Tvorba odkazu je opravdu jednoduchá, stačí za jakýkoliv odkaz přidat ?add-to-cart=456. V této ukázce je 456 ID produktu, které může být nahrazené jakýmkoliv jiným.

http://domena.cz/pokladna/?add-to-cart=456

Odstranění polí v objednávce

Pokud prodáváte digitální zboží, tak se nepotřebujete ptát na všechny informace. Kód vložte do functions.php.

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
 
function custom_override_checkout_fields( $fields ) {
    unset($fields['billing']['billing_first_name']);
    unset($fields['billing']['billing_last_name']);
    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_address_1']);
    unset($fields['billing']['billing_address_2']);
    unset($fields['billing']['billing_city']);
    unset($fields['billing']['billing_postcode']);
    unset($fields['billing']['billing_country']);
    unset($fields['billing']['billing_state']);
    unset($fields['billing']['billing_phone']);
    unset($fields['order']['order_comments']);
    unset($fields['billing']['billing_address_2']);
    unset($fields['billing']['billing_postcode']);
    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_last_name']);
    unset($fields['billing']['billing_city']);
    return $fields;
}

Nastavení počtu produktů na stránce archivu

Nastavení pro počet produktů na stránce archivu. V ukázce je return 20, který znamená 20 produktů na stránce. Kód stačí vložit do functions.php.

add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 20;' ), 20 );

Automatické nastavení objednávky jako Dokončeno

V některém případě je možné nastavovat objednávky automaticky jako dokončené. Kód vložte do functions.php.

add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) { 
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    $order->update_status( 'completed' );
}

Odstranění drobečkové navigace

Ne vždy potřebujete na stránkách obchodu drobečkovou navigaci. Kód vložte do functions.php.

add_action( 'init', 'jk_remove_wc_breadcrumbs' );

function jk_remove_wc_breadcrumbs() {
    remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0 );
}

Změna počtu sloupečků v archivech

Výchozí zobrazení počtu produktů na řádek nemusí vyhovovat každému. Kód vložte do functions.php.

add_filter('loop_shop_columns', 'loop_columns');
if (!function_exists('loop_columns')) {
	function loop_columns() {
		return 3; // 3 na řádku
	}
}

Změna textu tlačítka přidat do košíku

Úprava tlačítka přidat do košíku. Kód vložte do functions.php.

//Stránka produktu
add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' );   // 2.1 +
function woo_custom_cart_button_text() {
return __( 'Vlastní text', 'woocommerce' );
 
}
//Stránka archivu
add_filter( 'woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text' );   // 2.1 +
function woo_archive_custom_cart_button_text() {
return __( 'Vlastní text', 'woocommerce' );
}

Odstranění záložek v detailu produktu

Úprava detailu produktu, kde můžete odstranit všechny nebo jen vybrané záložky. Kód vložte do functions.php.

add_filter( 'woocommerce_product_tabs', 'woo_remove_product_tabs', 98 );

function woo_remove_product_tabs( $tabs ) {

    unset( $tabs['description'] );      	// Remove the description tab
    unset( $tabs['reviews'] ); 			// Remove the reviews tab
    unset( $tabs['additional_information'] );  	// Remove the additional information tab

    return $tabs;

}

Odstranění nadpisu ze záložky popis v detailu produktu

Výchozí nadpis v této záložce spíše překáží a často se hodí jej odstranit. Kód vložte do functions.php.

add_filter('woocommerce_product_description_heading', 'sam_product_description_heading');

function sam_product_description_heading() {
    return '';
}

Odstranění souvisejících produktů z detailu produktu

Když nepotřebujete související produkty v detailu produktu, můžete je jednoduše odstranit. Kód vložte do functions.php.

remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 );

O autorovi

Tomáš Cirkl

Baví mě Internet a zvláště pak redakční systém WordPress. Jsem pravidelným účastníkem a přednášejícím na WordCamp Praha a WordPress konferencích.

Zanechat komentář

Nadcházející školení: Tvorba webu s Divi (Praha 19.9.2019) a WordPress pro začátečníky (Praha 3.10.2019)

Získejte více informací o WordPress!

Připojte se do našeho emailového seznamu a nenechte si ujít informace, novinky a návody ze světa WordPressu.

Úspěšně jste se zapsali do našeho newsletteru. Děkujeme!

Tomáš Cirkl

Tomáš Cirkl

WordPress specialista

Blog WPlama.cz píši už více než 3 roky. O WordPress přednáším a pořádám školení. Pro své klienty vytvářím a spravuji webové stránky.