Я хочу показать собственный инструмент импорта продуктов CSV от Woocommerce во внешнем интерфейсе, чтобы пользователи с определенными ролями (поставщики) могли использовать его для загрузки своих продуктов на веб-сайт.
Я никогда не использовал собственный импортер Woocommerce, так как он появился в обновлении 3.0, но у меня есть подсказки, как мне начать.
в документации WC я нашел класс WC_Product_CSV_Importer, внутри я нашел метод: Initialize importer
Initialize importer.
__construct( string $file, array $params = array() )
Parameters
$file --> File to read.
$params --> Arguments for the parser.
и метод: прочитать файл
Read file
read_file( )
Я также думаю, что если я найду метабокс импортера продукта, я смогу с ним поработать.
Кто-нибудь пытался сделать что-то подобное?
Любое мнение хорошо принято
Класс Woocommerce: https://docs.woocommerce.com/wc-apidocs/class-WC_Product_CSV_Importer.html
Woocommerce Rest API позволяет предлагать пользователям возможность публиковать новые продукты с веб-сайта.
Пакетное создание, обновление и удаление нескольких продуктов
<?php
$data = [
'create' => [
[
'name' => 'Woo Single #1',
'type' => 'simple',
'regular_price' => '21.99',
'virtual' => true,
'downloadable' => true,
'downloads' => [
[
'name' => 'Woo Single',
'file' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/cd_4_angle.jpg'
]
],
'categories' => [
[
'id' => 11
],
[
'id' => 13
]
],
'images' => [
[
'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/cd_4_angle.jpg',
'position' => 0
]
]
],
[
'name' => 'New Premium Quality',
'type' => 'simple',
'regular_price' => '21.99',
'description' => 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.',
'short_description' => 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.',
'categories' => [
[
'id' => 9
],
[
'id' => 14
]
],
'images' => [
[
'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_front.jpg',
'position' => 0
],
[
'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_back.jpg',
'position' => 1
]
]
]
],
'update' => [
[
'id' => 799,
'default_attributes' => [
[
'id' => 6,
'name' => 'Color,
'option' => 'Green'
],
[
'id' => 0,
'name' => 'Size',
'option' => 'M'
]
]
]
],
'delete' => [
794
]
];
print_r($woocommerce->post('products/batch', $data));
?>
Других решений пока нет …