Zobrazení celkové váhy ve výpisu objednávek Woocommerce

V případě, že je pro vás důležitá celková váha objednávky, bude se vám hodit dnešní tip. Pomocí tří funkcí nejprve uložíme celkovou váhu objednávky, přidáme do výpisu objednávek nový sloupec s váhou a nakonec přidáme funkci, která ji zobrazí.

Výsledek, kterého chceme dosáhnout je:

woocommerce-order-weight

 

Do souboru functions.php, nebo analogicky do vašeho pluginu přidejte kód pro uložení post_meta. To se uloží při vytvoření nové objednávky.

add_action('woocommerce_checkout_update_order_meta', 'woo_add_cart_weight');
 
function woo_add_cart_weight( $order_id ) {
    global $woocommerce;
 
    $weight = $woocommerce->cart->cart_contents_weight;
    update_post_meta( $order_id, '_cart_weight', $weight );
}

Tím získáme celkovou váhu objednávky, kterou pak zobrazíme pomocí následujícího kódu

add_filter( 'manage_edit-shop_order_columns', 'woo_order_weight_column', 20 );
function woo_order_weight_column( $columns ) {
 
	$offset = 8;
	$updated_columns = array_slice( $columns, 0, $offset, true) +
	array( 'total_weight' => esc_html__( 'Weight', 'woocommerce' ) ) +
	array_slice($columns, $offset, NULL, true);
 
	return $updated_columns;
}
 
add_action( 'manage_shop_order_posts_custom_column', 'woo_custom_order_weight_column', 2 );
function woo_custom_order_weight_column( $column ) {
	global $post;
 
	if ( $column == 'total_weight' ) {
		$weight = get_post_meta( $post->ID, '_cart_weight', true );
		if ( $weight > 0 )
	print $weight . ' ' . esc_attr( get_option('woocommerce_weight_unit' ) );
		else print 'N/A';
	}
}

Další užitečné snippety najdete na stránce Užitečné snippety pro WooCommerce

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

5 Comments

  1. Tom

    Dobrý den

    Mám dotaz co se týče pluginu WooCommerce. Jde o výpočet DPH shora – tedy když zadáváte cenu včetně DPH a plugin sám vypočítá DPH.
    Jde o to že plugin správně vypočítá koeficient: sazba DPH / 100+ sazba DPH (21/121) ale už ho nezaokrouhlí na 4 desetinná místa.
    Sice to dělá setiny na tisícovce, ale i tak je to z účetního hlediska problém. Dá se to řešit nějakou funkcí?

    Odpověď
  2. pan Tužka

    Dobrý den,
    tento kód mi nefunguje – v košíku se nezobrazuje sloupec váhy – asi v důsledku nové verze woocommerce. Co je potřeba upravit? Děkuji

    Odpověď
  3. Musilda

    Dobrý den
    poslední verze Woocommerce byla uvolněna 1.7.2014. Kód byl použit na nejnovější verzi.
    Pokud se podíváte na titulek článku – jde o přidání sloupce do výpisu objednávek – o košíku není v článku žádná zmínka. Kód je tedy určen pro výpis celkové váhy v administraci objednávek.
    Když se podíváte na ten screen, můžete vidět, že jsou tam tlačítka Actions a ty jsou jen v administraci. Při přidání celkové váhy jako sloupec v košíku, muselo by se postupovat zcela jinak.

    Odpověď

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *