Wordpress Woocommerce Stok Takibi (Çözüldü)
-
Merhaba,
Woocommerce alt yapısı kullanıyorum, stok değişikliği yapıldığında örneğin bir mağaza yöneticisi stoğu değiştirdiğinde stoğa yeni ürün eklediğinde yada ürün çıkarttığında takip edebileceğim bir eklenti bilen var mı ?
Bir kaç çözüm buldum fakat çok zayıf kaldılar.
Mürit kardeşlerime teşekkürler şimdiden.
Çözümü aşşağıdaki eklentide buldum;
https://wordpress.org/plugins/inventory-history/
-
mağazayla ilgili her şeyin döküldüğü log gibi?
-
Genel itibariyle woocommerce ile ilgili ve stok fiyat değişiklikleri ile ilgili.
-
Bununla ilgili eklenti var mı bilmiyorum ama woocommerce stok işlemlerine ait fonksiyonlar wc-stock-functions.php dosyasında bulunur.
https://woocommerce.github.io/code-reference/files/woocommerce-includes-wc-stock-functions.html
59. satırda bununla ilgili bir action var. Bu action ı kullanarak stok değiştiğinde bilgi almayı sağlayabilirsin.
// Fire actions to let 3rd parties know the stock changed. if ( $product_with_stock->is_type( 'variation' ) ) { do_action( 'woo commerce_variation_set_stock', $product_with_stock ); } else { do_action( 'woo commerce_product_set_stock', $product_with_stock ); }
Bununla ilgili bir kod buldum. (https://stackoverflow.com/questions/63574250/get-a-reason-for-change-in-stock-when-using-the-woocommerce-product-set-stock-ho)
add_action( 'woo commerce_product_set_stock', array( $this, 'save_stock' ) ); public function save_stock( $product ) { //get the previous stock level from the custom table global $wpdb; $old_qty = $wpdb->get_var("SELECT qty FROM wp_stock_log WHERE product_id = '".$product->get_id()."' ORDER BY id DESC LIMIT 1 "); //get current stock level and calculate the change. $qty = $product->get_stock_quantity(); $change_in_stock = $qty-$old_qty; //get user full name $current_user = wp_get_current_user(); $first_name = $current_user->user_firstname; $last_name = $current_user->user_lastname; $full_name = $first_name . ' ' . $last_name; $data = array(); //insert new row into the custom table $data['date_created'] = date( 'Y-m-d H:i:s', time() ); $data['qty'] = $product->get_stock_quantity(); $data['qty_change'] = $change_in_stock; $data['product_id'] = $product->get_id(); $data['user'] = $full_name; $data['reason'] = SOME REASON ; $wpdb->insert( $wpdb->prefix.'stock_log', $data ); }
Bu kodların çalışması için veritabanında wp_stock_log adında bir tablo oluşturman lazım. Bu tabloya bilgileri atıyor.
En son satırda $wpdb->insert ile başlayan kodu kaldırıp yerine istersen kendine mail attırabilir veya başka bir yere yazabilirsin.
Not: Bu kodları temanın function.php dosyası içerisine atman lazım.
EDİT: Kodları yukarıdaki stackoverflow.com sitesinden al. Ben ne kadar düzeltsem de hatalı gösteriyor kodları.
-
Araştırıp baktığın ve geri dönüş yaptığın teşekkürler @shock56 bunu deneyeceğim fakat arayüzü olan bir eklenti olsa işimi çok daha hafifletirdi.
-
WooCommerce için Stok Yöneticisi – WordPress eklentisi | WordPress Türkiye
stok manager tarzı eklentiler iş görmez mi? daha önce hiç kullanmadım ama denenebilir
-
-
murdery bunu yazdı
WooCommerce için Stok Yöneticisi – WordPress eklentisi | WordPress Türkiye
stok manager tarzı eklentiler iş görmez mi? daha önce hiç kullanmadım ama denenebilir
Bunu öncesinde inceledim eğer içerisinde hangi kullanıcının hangi tarihte stokları değiştirdiği yazıyorsa işimi görür ama bu özellik yoktu.
-
kafkavari bunu yazdı
Bunu kullandım ama bunu aktifleştirince kullanıcılar kullanıcı girişi yaptıklarında hata mesajları çıkmakta bu nedenle deaktif hale getirdim.
-
bunu kullanıyorum birden fazla yönetici varsa ve ürünler ile ilgili işlemler vb yapılacaksa. Logluyor tamamını
-
sRcN bunu yazdı
bunu kullanıyorum birden fazla yönetici varsa ve ürünler ile ilgili işlemler vb yapılacaksa. Logluyor tamamını
Evet bende bunu kullandım fakat bu eklentiyi kurduktan sonra site hata vermeye başladı, kullanıcılar kullanıcı girişi yapamadı.