\SearchWP\Rule
\SearchWP\Rule は、\SearchWP\Query を実行する際に、どの検索結果 (\SearchWP\Entry) を考慮するかという制約をモデル化する責任を負います。例:
- 「未分類」カテゴリの投稿を除外する
- 過去6ヶ月以内に公開された更新のみを表示する
- など…
\SearchWP\Source の db_where() が常に適用されるのとは対照的に、\SearchWP\Rule はユーザー向けであり、エンジンの設定時に確立されます。\SearchWP\Rule は、インデックス作成と検索の両方で適用されます。
引数
新しい \SearchWP\Rule をインスタンス化する際に、次のいずれか(false|array|callable)の array を提供できます:
name(string)- 一意の名前。(デフォルト:
'') label(string)- 表示ラベル。(デフォルト:
nameの値) options(false|array|callable)- オプション。(デフォルト:
false) option_values_ajax_tag(string)optionsをオンザフライで取得するための AJAX コールバック。(デフォルト:値は'')conditions(false|array)- 適用できる条件。(デフォルト:
false) arrayの場合、次の値を使用できます:'='、'!='、'>'、'>='、'<'、'<='、'LIKE'、'NOT LIKE'、'IN'、'NOT IN'、'BETWEEN'、'NOT BETWEEN'、'EXISTS'、'NOT EXISTS'values(false|\SearchWP\Option[])optionsが利用可能になった場合、これらは選択肢となる相関するvaluesです。(デフォルト:false)callableの場合、以下の引数が渡されます:$option(string) 選択されたoption。$search(string) 検索時の検索文字列。$include(string) 返却時のリミッターとして使用するoptions。application(array|callable)- この
\SearchWP\Ruleの適用。適用される準備済みのSQLステートメント、または\SearchWP\Ruleを満たす\SearchWP\EntryID のarrayのいずれかを返します。(デフォルト:null) callableの場合、次の引数(以下のキーを持つarray)が渡されます:'option'(string) 選択されたoption。'value'(string) 選択されたvalue。'condition'(string) 選択されたcondition。
メソッド
\SearchWP\Rule を扱う際には、考慮すべきいくつかのメソッドがあります。
get_name()- 名前のゲッター。
get_label()- ラベルのゲッターです。
get_options()- オプションのゲッター。
get_conditions()- 条件のゲッター。
get_values( $option = '', $search = false, array $include = [] )- 値のゲッター。
get_application( array $settings )- アプリケーションのゲッター。
get_settings()- 設定のゲッター(つまり、
\SearchWP\Engineによって考慮されるもの)。

