随着移动浏览的不断发展,网站向移动端发展已成必然,WordPress也逐步开发了为移动端提供数据的接口WP REST API。前面我们已经讲过如何使用WP REST API,并且自定义相关的路由规则,不清楚看这里register_rest_route函数为WP REST API注册自定义接口,前几天在写一个数据接口的时候需要传递多个参数,发现网上的教程都只有如何传递数字型参数的写法,下面看看怎么传递多个字符串参数吧!
首先依旧使用register_rest_route函数注册wp rest api路由规则
复制
register_rest_route('dmd/v1', 'search', [ 'methods' => 'GET', 'callback' => 'dmd_rest_search_callback', ]);
大家注意看,我这个规则并没有后面的参数匹配规则,也就是说没有对应的参数处理操作。
取出参数
复制
function dmd_rest_search_callback($request) { $s = $request->get_param('s'); $paged = $request->get_param('paged'); return get_search($s, $paged); }
同样使用$request对象的get_param方法取得参数,但是我们应该如何传递参数进来呢?
使用域名/wp-json/dmd/v1/search?s=XXX&paged=2进行访问即可,是不是很像我们使用get参数访问呢。
如果你写成上面的样子,一定要注意安全问题,在取得参数之后一定要做处理,我这里的参数是给WordPress函数使用,所以无所谓。如果涉及到数据库操作,特别是插入数据,一定要处理,否则存在注入风险!
按照这种方法,传多少参数都行,成功解决搜索时的中文限制。
评论 (0)