內容簡介
此外掛提供簡單的 REST API 給受歡迎的 WordPress 搜尋引擎 - Relevanssi 使用。由於此外掛提供 Relevanssi 的 API,因此必須安裝它。主要功能包括:搜尋特定類型的文章;分頁及選擇性顯示結果;設置 X-WP-Total 標頭以顯示記錄的總數,以及類似於預設搜尋 API 的方式;設置 X-WP-TotalPages 標頭以顯示頁數的總數;支援多語言網站,支援 WPML 和 Polylang,但未經測試,如有問題請告知;現在支援分類法篩選,一些功能可能會失蹤,如有發現請報告;添加排序選項,也可以按 meta_key/meta_value/meta_value_num 排序等。
使用範例包括:基本搜尋、設定文章類型、篩選法及排除搜尋結果,以及多語言網站的搜尋等。此外掛提供的示範網站為 http://demo.erlycoder.com/demo1/,可以嘗試不同的搜尋請求,例如按修改時間排列文章等。
外掛標籤
開發者團隊
原文外掛簡介
This plugin provides simple REST API for the popular search WordPress search engine – Relevanssi.
As far as this plugin provides API for the Relevanssi plugin, it should be installed.
Key features
Search through posts of a certain type. By default all types.
Results in pagination and optional.
Sets X-WP-Total header with a total number of records, the same way as the default search API does.
Sets X-WP-TotalPages header with a total number of pages, the same way as the default search API does.
Multilingual websites support. Both WPML and Polylang are supported, but not tested well, so let me know if you will find any problems.
Taxonomy filters are supported now. Some features may be missed, so feel free to report them.
Ordering option added. It is also possible to order by meta_key/meta_value/meta_value_num.
Brief usage examples
https://[your domain]/wp-json/relevanssi/v1/search?keyword=query
https://[your domain]/wp-json/relevanssi/v1/search?keyword=query&per_page=5
https://[your domain]/wp-json/relevanssi/v1/search?keyword=query&per_page=5&page=2
Define post type:
https://[your domain]/wp-json/relevanssi/v1/search?keyword=query&per_page=5&page=2&type=post
Filter by taxonomy/taxonomies:
https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3
https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&tax_query[relation]=AND&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3&tax_query[1][taxonomy]=category&tax_query[1][field]=id&tax_query[1][terms]=2
Exclude category via taxonomies:
https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3&tax_query[0][operator]=NOT IN
For multilingual websites (WPML & Polylang):
https://[your domain]/wp-json/relevanssi/v1/search?keyword=query&lng=en
Results in order:
https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&type=post&orderby=modified&order=DESC
https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&type=post&orderby=modified&order=ASC
https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&type=post&meta_key=some_key&orderby=meta_value|meta_value_num&order=ASC
Demo website
You can try the plugin on our demo website http://demo.erlycoder.com/demo1/. For example, you can try the following request:
Basic:
http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test
Order posts by modification time:
http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test&type=post&orderby=modified&order=DESC
http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test&type=post&orderby=modified&order=ASC
Filter posts by taxonomy (one single category):
http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3
Filter posts by taxonomy (exclude category):
[http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3&tax_query[0][operator]=NOT IN](http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3&tax_query[0][operator]=NOT IN)
