根据我的经验,对我来说最简单的方法是使用命令行脚本来利用 Woocommerce REST API 来处理产品的创建。对于图像,您需要使用标准的 Wordpress REST API,它不是最好的文档。
使用这条路线,您肯定需要编写一个脚本来解析您的 XML,然后将数据传递给 REST API 以在商店中创建产品。
我推荐以下创建产品的方法:
对数据进行初始第一次传递以创建全局属性、分类法、类别等。您需要先执行此操作,因为您需要在 CRUD 调用中发送的许多产品数据使用 ID职位、分类等
创建您的产品。您将使用第 1 步中设置的数据来分配变体和类别。如果您正在处理可变产品和产品变体,请确保首先创建父级并分配变体元数据。
执行图像上传部分。您将能够使用 WP REST API 创建媒体库条目,然后使用 WC REST API 更新产品帖子。
根据您拥有的产品数量,您可能希望考虑在导入脚本中添加一些功能来设置开始、停止和偏移点。例如,从第 101 个产品节点开始只运行 200 个产品节点。这很好用,因为您可以打开多个提示来执行一些穷人的多线程。
需要注意的一些事项:
您的脚本可能会对服务器超时,尤其是在计算机进入睡眠状态时。这是在脚本中有一个起点很好的地方,以防您需要在某个点重新启动。
这个过程可能有点慢。您可能会遇到很多瓶颈(HTTP 调用开销、连接速度慢等)。
Wordpress REST API 的文档记录很差。要上传图片,您只需要进行类似的调用。:
// PHP - Use Wordpress REST API Library to upload an image.
$imagedata = file_get_contents("myimagefile.jpg");
$upload_result = $wordpress->post('media', [
'body' => $imagedata,
'headers' => [
'Content-Type' => 'image/jpg',
'content-disposition' => 'attachment; filename=myimagefile.jpg'
]
]);