require(“/home/electricoutboard/public_html/wp-load.php”); // load wordpress
#setup list of stock sku manually here
$skus = array(“MD1180/66″); # protruar 1hp 66
array_push($skus,”MD1242/GPS/BL”); # cayman bow new black
array_push($skus,”MD1134″); # mini battery switch with key
array_push($skus,”MD1224″); # trolling motor battery power box
array_push($skus,”MD1245″); # protruar 5
array_push($skus,”MD1181″); # protruar 2
array_push($skus,”MD1176″); # w20-kayak-pro motor
array_push($skus,”MD1247/63″); #
foreach($skus as $sku_to_test)
{
$query = “select stock_level from wp_alg_stocklist where sku = ‘$sku_to_test’;”;
print “<p>query $query</p>”;
$result = mysqli_query($link,$query);
$row = mysqli_fetch_array($result);
$stock_level = $row[“stock_level”];
$product_id = wc_get_product_id_by_sku(“$sku_to_test”);
print “$sku_to_test new stock_level $stock_level from imported file with product_id $product_id”;
wc_update_product_stock($product_id,$stock_level,”set”,”false”);
wc_delete_product_transients($product_id);
If i run this in my web browser I get this output:
file existsCSV File has been successfully Imported.
query select stock_level from wp_alg_stocklist where sku = 'MD1180/66';
MD1180/66 new stock_level 0 from imported file with product_id 996
query select stock_level from wp_alg_stocklist where sku = 'MD1242/GPS/BL';
MD1242/GPS/BL new stock_level 8 from imported file with product_id 0
query select stock_level from wp_alg_stocklist where sku = 'MD1134';
MD1134 new stock_level 13 from imported file with product_id 742
query select stock_level from wp_alg_stocklist where sku = 'MD1224';
MD1224 new stock_level 132 from imported file with product_id 737
query select stock_level from wp_alg_stocklist where sku = 'MD1245';
MD1245 new stock_level 13 from imported file with product_id 0
query select stock_level from wp_alg_stocklist where sku = 'MD1181';
MD1181 new stock_level 1 from imported file with product_id 765
query select stock_level from wp_alg_stocklist where sku = 'MD1176';
MD1176 new stock_level 184 from imported file with product_id 0
query select stock_level from wp_alg_stocklist where sku = 'MD1247/63';
MD1247/63 new stock_level 14 from imported file with product_id 0
########################################################################
and the oddity is for example MD1176 – I get the new stock level from the spreadsheet but the code
$product_id = wc_get_product_id_by_sku(“$sku_to_test”);
does not pick up the product id for SKU MD1176, MS1245, MD1242/GPS/BL and MD1247/63 in this test scenario.
Then the stock is not being updated using:
wc_update_product_stock($product_id,$stock_level,”set”,”false”);
I thought requiring wp-load.php would load these functions? Do I need to pull them in from somewhere else or am I doing something else wrong as well?
Can anyone help me with the SQL I can run to try to see if I can pull the product ID directly from the database?
I’ve found this:
SELECT post_id FROM wp_postmeta WHERE meta_key=’_sku’ AND meta_value=’MD1176′;
but it gives a blank product Id for that SKU
while this:
SELECT post_id FROM wp_postmeta WHERE meta_key=’_sku’ AND meta_value=’MD1177′;
gives the post_id of 678 but the product ID shoing in the product list is 2181?
Any help will be greatly appreciated as I’ve spent quite a while reading various posts to no avail so far and I seem to be disappearing uip my own pipe at the moment!
]]>How are you adding the products on your site?
Are you using API for this?
]]>