WooCommerce REST API产品图像相对URL问题

时间:2017-04-28 05:16:21

标签: woocommerce

我正在使用WooCommerce REST API(在移动应用中)来检索产品列表。我的问题是产品图像的URL是相对的。

例如,在来自service / wp-json / wc / v1 / products的响应中,我得到images [0] .src: “/wp-content/uploads/2013/06/cd_6_angle.jpg”当我期待的时候 “http://example.com/wp-content/uploads/2013/06/cd_6_angle.jpg”。

这似乎发生在所有返回产品图片网址的服务上。

我使用WordPress版本4.7.4与WooCommerce版本3.0.4。我不认为这个问题发生在几个星期前我测试的早期版本中(我不知道究竟是哪个版本,但它当时是最新版本。)

WooCommerce REST API提供了一个示例(http://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-products)输出,显示了产品图片的绝对URL。

这是对API的未记录更改,还是在某处进行配置设置?或者我是否必须自定义WooCommerce的代码才能获得绝对URL?

2 个答案:

答案 0 :(得分:0)

我在Microsoft Azure上安装Wordpress时出现此问题。我发现在附件/媒体查看器中,URL值始终是相对的而不是绝对的。

我发现此issue引导我注意 wp-config.php WP_CONTENT_URL的定义。对我来说,定义了相对路径而不是绝对路径。

长话短说。替换:
define('WP_CONTENT_URL', '/wp-content');
附:
define('WP_CONTENT_URL', 'http://'. filter_input(INPUT_SERVER, 'HTTP_HOST', FILTER_SANITIZE_STRING) . '/wp-content');

define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content');

答案 1 :(得分:0)

因为您可以调用“ images [0] .src”,所以不能只说

var baseUrl = "http://www.example.com";
var response = baseurl + images[0].src;

我认为这行得通吗?

我也尝试使用WooCommerce REST API,但对我来说,图像属性都是null或为空...寻找修补程序仍然是哈哈。