Musilda.cz

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:

 

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

Exit mobile version