我正在使用此请求来检索筛选后的客户列表:
https://example.com/wp-json/wc/v3/customers?per_page=100&include=[723,2,195]
直到不久前,这一切都运行得很好,我已将网站移至新服务器。域名保持完全相同,我只是切换到不同的托管提供商。
网站运行得很好,但客户搜索不起作用。
我可以直接请求得到客户:
https://example.com/wp-json/wc/v3/customers/723
我还可以检索完整的客户列表,而无需过滤 ID:
https://example.com/wp-json/wc/v3/customers?per_page=100
但是一旦我添加
?include
参数,响应就只是一个空数组。
200 OK: []
客户显然在那里,因为他们可以在不包含参数的请求响应中看到。
WordPress 管理仪表板中
WooCommerce>Customers
下的客户搜索也不起作用。尽管它显示底部的客户总数。所以基本上,客户就在那里,但任何类型的搜索/过滤都会导致空响应。
我尝试清除分析缓存并重新导入历史数据,但无济于事。
我想知道这是否与网站迁移有关?或者也许使用
wc_customer_lookup
表?那里的记录似乎很好,尽管我不确定这些数据是否/应该有多一致。
我还可以尝试删除更多缓存吗?或者有什么方法可以重新生成客户查找表?
该网站在 Ubuntu 上运行,使用 PHP8 和托管 MySQL (MariaDB) 数据库。
与插件或主题发生冲突的可能性不大,因为它在迁移之前运行良好。也就是说,该网站在此之前确实在 PHP7 上运行。 PHP8 会不会有问题?
检查你的 php.ini 并查看是否启用了 url include 以及与 include 函数有关的任何内容。