Bu düzgün özelleştirme, manuel stok miktarı düzenlemesi veya müşteri siparişi nedeniyle stok değişikliği yapılmadan önce basit bir ürünün veya değişken ürün varyasyonunun stok miktarından tasarruf sağlar .
Ürün başına yüzlerce stok hareketiniz varsa, bunun arka ucunuzu ve/veya veritabanınızı yavaşlatabileceğini, dolayısıyla snippet’in bir tür optimizasyona veya sınırlamaya (“son 10 hareket”) ihtiyaç duyabileceğini lütfen unutmayın.
Peki nasıl çalıştığını görelim.
PHP Snippet'i: Stok Envanter Hareketlerini Görüntüle @ Ürün Düzenleme Sayfası
				
					add_action( 'woocommerce_product_before_set_stock', 'bbloomer_historical_stock_product_parent' );
add_action( 'woocommerce_variation_before_set_stock', 'bbloomer_historical_stock_product_parent' );
 
function bbloomer_historical_stock_product_parent( $product ) {
   $stock_history = get_post_meta( $product->get_id(), '_stock_history', true ) ? get_post_meta( $product->get_id(), '_stock_history', true ) : array();
   $stock_history[time()] = (int)get_post_meta( $product->get_id(), '_stock', true );
   update_post_meta( $product->get_id(), '_stock_history', $stock_history );
}
 
add_action( 'add_meta_boxes', 'bbloomer_product_meta_box' );
 
function bbloomer_product_meta_box() {
    add_meta_box( 'stock_history', 'Stock History', 'bbloomer_display_stock_history', 'product', 'advanced', 'high' );
}
 
function bbloomer_display_stock_history() {
   global $post;
   $product = wc_get_product( $post->ID );
 
   if ( $product->get_type() == 'variable' ) {
        foreach ( $product->get_available_variations() as $key ) {
            $products[] = $key['variation_id'];
      }
   } else $products[] = $post->ID;
    
   foreach ( $products as $product_id ) {
      $product = wc_get_product( $product_id );
      echo '' . $product->get_name() . '
';
      $stock_history = get_post_meta( $product_id, '_stock_history', true );
      if ( $stock_history ) {
         foreach ( $stock_history as $timestamp => $stockvalue ) {
            if ( ! $stockvalue ) continue;
            echo '' . date( DATE_COOKIE, $timestamp ) . ': ' . $stockvalue . '
';
         }
      }; 
      echo 'Current Stock: ' . $product->get_stock_quantity() . '
';   
   }
    
} 
				
			
		Bu makaleyi beğendiyseniz, lütfen WordPress video eğiticileri için YouTube Kanalımıza abone olun. Bizi Twitter ve Facebook’ta da bulabilirsiniz.
 
															



 
								