WordPress get_terms 参数 number 设置数目无效的问题

这个两天在做一个前端的标签输入字段,其中有一个功能,需要根据用户当前的输入,采用ajax自动搜索标签,以提供给用户参考选择。这个功能主要的功夫在前端,我并没有自己写,而是github上找了一个现成的前端项目,并做了一些修改,最终得以实现。github项目地址:https://github.com/swling/tags-input

回到题目讨论的话题,实现了前端代码之后,后端返回数据,自然就用到了WordPress自带函数get terms。基本原理就是,接收前端用户输入的字符,并以此为关键词搜索对应的标签,并返回json数据,供前端处理。开发进行到这里一直很顺利,但唯一出现了一个bug,就是考虑到我的某些网站,标签非常多,有时候搜索出来匹配的标签可能长达几十个甚至上百个,就考虑到最好只按热度输出少部分标签。问题就出在这里,无论我怎么设置number参数,返回的结果始终没有任何改变。阅读官方文档,并没有相关指南,搜索了一番也没找到答案,最后只好自己看源码。

在class WP_Term_Query 中最终找到了答案,那就是当get terms的参数中,设置了parent之后,number参数就自动无效了。好巧不巧,因为我在wnd frontend中封装了一个返回json数据的函数,来替代get terms直接用于前端项目,而正好设置了一个默认参数 parent=0

在个坑不算大,但建议官方文档应该在number参数的释义中做一个补充。

当前余额:¥ 0.00  本次消费:¥ 0.00