不管是写WordPress主题还是插件,大部分时候都要用到 WP_Query这个查询类。我个人比较喜欢用WordPress原生的查询,而不是自己去写SQL语句。不过在文章数量很多的情况下,我们需要对 WP_Query的参数比较了解才能尽可能的提高查询效率。今天说一个案例,客户要求是批量修改分类下的全部文章的一个自定义字段,我觉得不算困难,就只收了200,结果发现某个分类下,有一万多篇文章。。。果然,代码写好以后,查询别的分类都没事,查询这个分类就会报错。由于是用的AJAX,只能看到返回500错误,没看到具体错误信息。不过估计是内存溢出错误。
本来打算改用SQL语句进行查询,想想还是先去看看文档吧,然后就在官方文档看见了这个 fields
参数。因为我只需要获取文章ID,不需要其他的,所以,添加 fields
就OK了。而且查询速度也快了很多。示例代码如下: