Я пытаюсь реализовать функцию, при которой опубликованный новый продукт будет скопирован на другой веб-сайт. Поэтому я использую этот код:
function api_create_prod($post_id){
$product = wc_get_product($post_id);
$api_response = wp_remote_post( 'https://testing.__tasia.com/wp-json/wc/v2/products', array(
'headers' => [
'Authorization' => 'Basic ' . base64_encode( 'ck_08ad9ee45dc17c3660dfdsfdse5dad095ec4:cs_90e0ab02fdb473e7fsdfds986e20453fds3' )
],
'body' => [
'name' => $product->get_name(), // product title
'slug' => $product->get_slug(),
'sku' => $product->get_sku(),
'description' => $product->get_description(),
'status' => get_post_status($post_id), // product status, default: publish
'categories' => [
[
'id' => 5 // each category in a separate array
/*],
[
'id' => 10*/
]
],
'regular_price' => $product->get_price() // product price
]
) );
$body = json_decode( $api_response['body'] );
//print_r( $body );
if( wp_remote_retrieve_response_message( $api_response ) === 'Created' ) {
echo 'The product ' . $body->name . ' has been created';
}
}
Можно ли избежать указания каждого атрибута один за другим и скопировать весь продукт вместо этого? name
, slug
, sku
.... et c будут идентичны на обоих сайтах.
Если нет, то как я могу указать несколько категорий и несколько изображений? (Я сохраню источник изображений на первом сайте)