簡體   English   中英

WooCommerce Rest API“PUT”請求的致命錯誤(更新產品)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM