\SearchWP\Rule
Tabla de contenidos
\SearchWP\Rule es responsable de modelar las restricciones sobre qué resultados de búsqueda (\SearchWP\Entry) se consideran al ejecutar una \SearchWP\Query. Por ejemplo:
- Excluir publicaciones de la categoría “Sin categorizar”
- Mostrar solo actualizaciones publicadas en los últimos 6 meses
- etc…
A diferencia de db_where() en un \SearchWP\Source que siempre se aplica, las \SearchWP\Rules son visibles para el usuario y se establecen al configurar Motores. Las \SearchWP\Rules se aplican tanto durante la indexación como durante la búsqueda.
Argumentos
Al instanciar una nueva \SearchWP\Rule se puede proporcionar una array de lo siguiente:
name(string)- Un nombre único. (por defecto:
'') label(string)- Etiqueta de visualización. (por defecto: valor de
name) options(false|array|callable)- Opciones. (por defecto:
false) option_values_ajax_tag(string)- Callback AJAX para recuperar
optionssobre la marcha. (por defecto: valor de'') conditions(false|array)- Condiciones que se pueden aplicar. (por defecto:
false) - Cuando es
arrayse pueden usar los siguientes valores:'=','!=','>','>=','<','<=','LIKE','NOT LIKE','IN','NOT IN','BETWEEN','NOT BETWEEN','EXISTS','NOT EXISTS' values(false|\SearchWP\Option[])- Cuando las
optionsestán disponibles, estos son losvaluescorrespondientes para elegir. (por defecto:false) - Cuando es
callablese pasan los siguientes argumentos: $option(string) Laoptionelegida.$search(string) Cadena de búsqueda al buscar.$include(string)optionsa usar como limitador al devolver.application(array|callable)- La aplicación de esta
\SearchWP\Rule. Devuelve una sentenciaSQLpreparada que se aplica, o unaarrayde IDs de\SearchWP\Entryque satisfacen la\SearchWP\Rule. (por defecto:null) - Cuando es
callablese pasa el siguiente argumento (arraycon las siguientes claves): 'option'(string) Laoptionelegida.'value'(string) Elvalorelegido.'condition'(string) Lacondiciónelegida.
Métodos
Al trabajar con \SearchWP\Rule, hay una serie de métodos a considerar.
get_name()- Getter para el nombre.
get_label()- Getter para la etiqueta.
get_options()- Getter para las opciones.
get_conditions()- Getter para las condiciones.
get_values( $option = '', $search = false, array $include = [] )- Getter para los valores.
get_application( array $settings )- Getter para la aplicación.
get_settings()- Getter para la configuración (es decir, tal como la considera un
\SearchWP\Engine).

