8
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WP REST API でタイトルで検索する。

Posted at

WordPress で WP REST API を使って検索するときに、
http://example.org/wp-json/wp/v2/posts/?search=タイトル
ですると、本文内に含まれているものまで検索されてがっかりするあなたにこんな事してみてはいかがでしょうか。

functions.php
add_filter( 'rest_post_query', 'my_rest_post_query', 10, 2 ); // rest_{post_type}_query 今回は post なので rest_post_query
function my_rest_post_query( $args, $request ) {
	if ( isset( $request['title'] ) ) {
		$args['title'] = esc_attr( $request['title'] );
	}
	return $args;
}

http://example.org/wp-json/wp/v2/posts/?title=タイトル
とかやってすればタイトルを検索してくれます。

他に追加出来ると思うので、自分で探求してみてください。

https://capitalp.jp/2017/01/26/theme-security/
また、上記でエスケープ処理等を参考にリクエストするものを適切にエスケープ処理してください。

8
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?