注意: この記事は Data API v3 をベースにしています。
listEntries のエンドポイントには、カスタムフィールドやカテゴリーを使って記事を検索する仕組みが今はまだありませんが、searchのエンドポイントを利用することで、カスタムフィールドやカテゴリーによる絞込。サイトを横断した検索ができます。
カスタムフィールドを利用する
カスタムフィールをフィルターとして利用する場合は、
/search?search=hoge&field:address:akasaka
このように field:
+ カスタムフィールドのベースネーム:
+ 条件式
と指定します。
上記の例では、「address」というカスタムフィールドの値が「akasaka」かつ、タイトル・本文・続き・キーワードのいずれかに「hoge」を含む記事が検索されます。
複数のカスタムフィールをフィルターとして同時に指定することは出来ますが、すべての条件を満たしたもの。というAND
検索になりますのでご注意を。
カテゴリーを利用する
カテゴリーをフィルターとして利用する場合は、
/search?search=hoge&category:"moge OR 'foo bar’"
このように category:
+ 条件式
と指定します。
上記の例では、カテゴリが「moge」か「foo bar」かつ、タイトル・本文・続き・キーワードのいずれかに「hoge」を含む記事が検索されます。
まとめ
Data API でカスタムフィールドやカテゴリによるフィルターを行いたい場合は、search
のエンドポイントが使えるよ。
(listEntries で使いたいよね。そうだよね。うん、わかってる。)