Zobrazení celkové váhy ve výpisu objednávek Woocommerce - Affinite.io CZ

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

Socute free šablona pro Woocommerce
Socute free šablona pro Woocommerce
03 Srp, 2014
Vlastní statusy pro články
Vlastní statusy pro články
06 Srp, 2014

Komentáře nejsou povoleny.

Looking for something?