Woocommerce产品api不接受某些网址中的图片

时间:2016-04-19 02:48:26

标签: php wordpress url woocommerce product

我在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它正常工作。

如何解决这个问题?

2 个答案:

答案 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