我在woocommerce网站创建外部产品。我的代码就像下面一样:
if($_POST["Type"] == "CREATE"){
$data = array(
'product' => array(
'title' => $_POST["Title"],
'type' => 'simple',
'regular_price' => $_POST["Regular_price"],
'description' => $_POST["Description"],
'short_description' => $_POST["Short_description"],
'categories' => array(
$_POST['CategoryName']
),
'images' => array(
array(
'src' => $_POST["Image_url"],
'position' => 0
),
array(
'src' => $_POST["Image_url"],
'position' => 1
)
)
)
);
$res = $client->products->create($data);
}
使用像http://app.test.net:8080/test/img/company-logo.png这样的$_POST["Image_url"]
会出现以下错误:
PHP Fatal error: Uncaught exception 'WC_API_Client_HTTP_Exception' with message 'Error: Error getting remote image
但是,如果我们提供一个正常的网址(网址不包含特定端口),例如http://test.com/wp-content/uploads/2016/02/test.png它正常工作。
如何解决这个问题?
答案 0 :(得分:2)
在我的案例中,上面提到的这样一个URL(http://app.test.net:8080/api/v1/product.php)中的代码。通过(http://appname.test.net)从.net应用程序调用此API。两者都具有相同的域名部分( test.net )。
很难找到通往商业的网址。我的服务器配置更改了.net应用程序的URL(我使用的是虚拟主机)。然后才能正常工作。
答案 1 :(得分:1)
---- (编辑2) ----
抱歉,您的问题根本不清楚。你必须更新它,因为它非常不完整和模糊。标题也是一样。
媒体图像位于端口8080上的第二个服务器中,右侧...
请告诉我问题在于:
'images' => array(
array(
'src' => $_POST["Image_url"],
'position' => 0
),
array(
'src' => $_POST["Image_url"],
'position' => 0
)
)
'src' => $_POST["Image_url"]
看看这个有趣的相关主题:Synchronize external database with woocommerce database