[英]Fatal error for WooCommerce Rest API "PUT" request (update product)
我正在嘗試通過 WooCommerce REST API 更新產品。 但我收到一個錯誤。
這是 HTML 形式:
<form action="update_product_connect.php" name="update" method="post">
<tbody>
<?php foreach ( $data as $row ) : ?>
<tr>
<td><?= $row['id']; ?></td>
<td><input type="text" name="namee" value="<?= $row['name']; ?>"/></td>
<td><input type="text" name="descriptions" value="<?= $row['description']; ?>"/></td>
<td><input type="text" name="short_descriptions" value="<?= $row['short_description']; ?>"/></td>
<td><input type="number" name="regular_pricee" value="<?= $row['regular_price']; ?>"/></td>
<td><input type="submit" name="sil" value="kaydet" /></form>
</td>
</tr>
<?php endforeach; ?>
這是update_product_connect.php文件中的代碼,該文件發送 HTTP 調用以更新產品。
<?php
$dataname = $_POST['namee'];
$dataprice = $_POST['regular_pricee'];
$datadescription = $_POST['descriptions'];
$datashort_description = $_POST['short_descriptions'];
$data =
[
'name' => $_POST['namee'],
'regular_price' => $_POST['regular_pricee'],
'description' => $_POST['descriptions'],
'short_description' => $_POST['short_descriptions'],
];
?>
<?php echo json_encode($woocommerce->PUT('products', $data)); ?>
以下是我收到的錯誤的屏幕截圖:
很可能是因為您沒有在$woocommerce->PUT()
請求端點中輸入要更新的產品 ID。
我在表格中看到您既沒有產品 SKU 也沒有產品 ID。 您需要添加它們以讓 WooCommerce 知道需要更新哪個產品。
它應該是這樣的:
<?php
$product_id = 123;
echo json_encode($woocommerce->PUT("products/{$product_id}", $data));
?>
或者:
<?php
$sku = 'B-678';
$product_id = wc_get_product_id_by_sku( $sku );
echo json_encode($woocommerce->PUT("products/{$product_id}", $data));
?>
您可以在這里找到更多信息:
有用的答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.