woocommerce api: скопировать продукт на другой сайт - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь реализовать функцию, при которой опубликованный новый продукт будет скопирован на другой веб-сайт. Поэтому я использую этот код:

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 будут идентичны на обоих сайтах.

Если нет, то как я могу указать несколько категорий и несколько изображений? (Я сохраню источник изображений на первом сайте)

...