Я создаю веб-приложение для обновления продуктов woocommerce с использованием их API. Я могу обновить все свойства продукта, кроме изображений. Любые предложения будут ценны!
вот мой код страницы редактирования моего продукта:
$product_id = (int) filter_input( INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT );
$product = blurred_api_get_collection_item( 'products', $product_id );
?>
<?php if ( $product ) { ?>
<?php $fields = blurred_get_edit_product_fields( $product->type ); ?>
<form action="<?php echo blurred_get_current_url( array( 'action' => 'update_product' ) ); ?>" method="post">
<?php foreach( $fields as $field_id => $field ) { ?>
<div class="form-group">
<label for="<?php echo $field_id; ?>"><?php echo $field['label']; ?></label>
<?php printf(
'<input type="%1$s" class="form-control" id="%2$s" placeholder="%3$s" name="%2$s" value="%4$s" >',
$field['type'],
$field_id,
$field['placeholder'],
$product->{$field['parameter']}
); ?>
</div>
<?php } ?>
<button type="submit" class="btn btn-primary">Update</button>
</form>
<?php } else { ?>
<div class="alert alert-warning" role="alert">
<p>Sorry, no product was found for that ID.</p>
</div>
<?php } ?
Моя страница функций имеет следующий код:
function blurred_get_edit_product_fields( $product_type = 'simple' ) {
$fields = array(
'name' => array(
'label' => 'Name',
'parameter' => 'name',
'placeholder' => '',
'type' => 'text',
),
'description' => array(
'label' => 'Description',
'parameter' => 'description',
'placeholder' => '',
'type' => 'text',
),
'short-description' => array(
'label' => 'Short Description',
'parameter' => 'short_description',
'placeholder' => '',
'type' => 'text',
),
'stock-quantity' => array(
'label' => 'Stock Quantity',
'parameter' => 'stock_quantity',
'placeholder' => '',
'type' => 'number',
),
'images' => array(
'label' => 'Images',
'parameter' => 'images',
'placeholder' => '',
'type' => 'text',
),
);
При выполнении кода выше я получаю эту ошибку для изображений:
Notice: Array to string conversion in /Users/username/Sites/api/public_html/edit-product.php on line 26
Это строка 26:
$product->{$field['parameter']}
и поле изображения содержит массив.