我正在使用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?
答案 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或为空...寻找修补程序仍然是哈哈。