\SearchWP\Rule
Inhaltsverzeichnis
\SearchWP\Rule ist verantwortlich für die Modellierung von Einschränkungen, welche Suchergebnisse (\SearchWP\Entry) bei der Ausführung einer \SearchWP\Query berücksichtigt werden. Zum Beispiel:
- Beiträge in der Kategorie „Uncategorized“ ausschließen
- Nur Updates anzeigen, die in den letzten 6 Monaten veröffentlicht wurden
- usw…
Im Gegensatz zu db_where() in einer \SearchWP\Source, die immer gilt, sind \SearchWP\Rules benutzerorientiert und werden bei der Konfiguration von Engines festgelegt. \SearchWP\Rules werden sowohl während der Indizierung als auch während der Suche angewendet.
Argumente
Beim Instanziieren einer neuen \SearchWP\Rule kann ein Array der folgenden Elemente übergeben werden:
name(string)- Ein eindeutiger Name. (Standard:
'') label(string)- Anzeitelabel. (Standard: Wert von
name) options(false|array|callable)- Optionen. (Standard:
false) option_values_ajax_tag(string)- AJAX-Callback zum Abrufen von
optionson the fly. (Standard: Wert von'') conditions(false|array)- Anwendbare Bedingungen. (Standard:
false) - Wenn
array, können die folgenden Werte verwendet werden:'=','!=','>','>=','<','<=','LIKE','NOT LIKE','IN','NOT IN','BETWEEN','NOT BETWEEN','EXISTS','NOT EXISTS' values(false|\SearchWP\Option[])- Wenn
optionsverfügbar sind, sind dies die korrespondierendenvalues, aus denen gewählt werden kann. (Standard:false) - Wenn
callable, werden die folgenden Argumente übergeben: $option(string) Die gewählteoption.$search(string) Suchbegriff bei der Suche.$include(string)options, die als Begrenzer bei der Rückgabe verwendet werden.application(array|callable)- Die Anwendung dieser
\SearchWP\Rule. Gibt entweder eine vorbereiteteSQL-Anweisung zurück, die angewendet wird, oder einArrayvon\SearchWP\Entry-IDs, die die\SearchWP\Ruleerfüllen. (Standard:null) - Wenn
callable, wird das folgende Argument (arraymit den folgenden Schlüsseln) übergeben: 'option'(string) Die gewählteoption.'value'(string) Der gewähltevalue.'condition'(string) Die gewähltecondition.
Methoden
Bei der Arbeit mit \SearchWP\Rule gibt es eine Reihe von Methoden zu beachten.
get_name()- Getter für den Namen.
get_label()- Getter für das Label.
get_options()- Getter für Optionen.
get_conditions()- Getter für Bedingungen.
get_values( $option = '', $search = false, array $include = [] )- Getter für Werte.
get_application( array $settings )- Getter für Anwendung.
get_settings()- Getter für Einstellungen (d. h. wie von einer
\SearchWP\Enginebetrachtet).

