SearchWP Documentation

Consulta la guía de instalación, explora la base de conocimiento, descubre los numerosos hooks de SearchWP

\SWP_Query

Tabla de contenidos

\SWP_Query una alternativa a \SearchWP\Query con un par de diferencias importantes:

  1. El diseño e implementación están modelados según WP_Query.
  2. Como resultado, independientemente de la configuración de \SearchWP\Engine, los resultados se limitarán a \SearchWP\Sources basados en WP_Post, por ejemplo, Entradas, Páginas, Medios y Tipos de Entrada Personalizados.

Uso básico

\SWP_Query se puede usar tal como lo haría (y en algunos casos se puede sustituir para usar) WP_Query:

<?php
//@link https://searchwp.com/documentation/classes/swp_query/
global $post;
$swp_query = new SWP_Query( [
's' => 'coffee', // Search query.
'engine' => 'default', // Engine name.
] );
if ( $swp_query->have_posts() ) {
while ( $swp_query->have_posts() ) :
$swp_query->the_post();
?>
<div class="search-result">
<h3><a href="<?php echo get_permalink(); ?>">
<?php the_title(); ?>
</a></h3>
<?php the_excerpt(); ?>
</div>
<?php
endwhile;
wp_reset_postdata();
} else {
?>
<p>No results found.</p>
<?php
}
view raw functions.php hosted with ❤ by GitHub

Nota: Hay algunas advertencias, ya que \SWP_Query no tiene paridad de características con WP_Query. Consulte esta documentación que describe qué métodos y propiedades están disponibles para usted.

Tenga en cuenta también: Dado que \SWP_Query fue diseñado para ser (en su mayoría) interoperable con WP_Query, puede haber ocasiones (por ejemplo, cuando no hay un parámetro s (consulta de búsqueda)) en las que pueda volver a usar WP_Query para recuperar sus resultados de la siguiente manera:

<?php
// @link https://searchwp.com/documentation/classes/swp_query/
global $post;
$args = [
's' => get_search_query(),
'tax_query' => [ [
'taxonomy' => 'people',
'field' => 'slug',
'terms' => 'bob',
] ],
];
// If a search query is present use SWP_Query
// else fall back to WP_Query
if ( ! empty( $args['s'] ) ) {
$swp_query = new SWP_Query( $args );
} else {
$swp_query = new WP_Query( $args );
}
// Loop through results.
if ( $swp_query->have_posts() ) {
while ( $swp_query->have_posts() ) :
$swp_query->the_post();
?>
<div class="search-result">
<h3><a href="<?php echo get_permalink(); ?>">
<?php the_title(); ?>
</a></h3>
<?php the_excerpt(); ?>
</div>
<?php
endwhile;
wp_reset_postdata();
} else {
?>
<p>No results found.</p>
<?php
}
view raw template.php hosted with ❤ by GitHub

Argumentos

Al instanciar un nuevo \SearchWP\Attribute se puede proporcionar una array de los siguientes:

s (string)
Consulta de búsqueda. (predeterminado: '')
engine (string)
Nombre de \SearchWP\Engine. (predeterminado: 'default')
posts_per_page (integer)
Número de entradas a devolver por página. (predeterminado: get_option( 'posts_per_page' ))
load_posts (boolean)
Si se deben devolver resultados como WP_Posts. (predeterminado: true)
fields (string)
Si se deben devolver "all" o "ids". (predeterminado: "all")
nopaging (boolean)
Si se debe deshabilitar la paginación y devolver todos los resultados. (predeterminado: false)
page (integer)
Qué página de resultados devolver. (predeterminado: null)
paged (integer)
Qué página de resultados devolver. (predeterminado: 1)
post__in (integer[])
Limitar el grupo de búsqueda a estos IDs (predeterminado: [])
post__not_in (integer[])
Limitar el grupo de búsqueda a estos IDs (predeterminado: [])
post_type (string[])
Limitar resultados a estos Tipos de Publicación (por defecto: [])
post_status (string[])
Limitar resultados a estos Estados de Publicación (por defecto: [])
tax_query ([])
Ver tax_query (por defecto: [])
meta_query ([])
Ver meta_query (por defecto: [])
date_query ([])
Ver date_query (por defecto: [])
order (string)
Devolver resultados en orden "ASC" o "DESC". (por defecto: "DESC")
orderby (string)
Devolver resultados ordenados por "relevance", "date" o "rand". (por defecto: "relevance")

Métodos

Nota: Hay 'magic getters' y 'setters' disponibles para las propiedades.

get_search_results()
Actualizar el conjunto de resultados según las propiedades actuales.
get_posts()
Devuelve el conjunto de resultados actual.

Hooks

Hay una serie de 'hooks' disponibles para modificar aún más el comportamiento de \SWP_Query:

Cree hoy mismo una mejor experiencia de búsqueda en WordPress

No vuelva a perder visitantes por resultados de búsqueda inútiles. SearchWP facilita la creación de su propia búsqueda inteligente en WordPress.

Get SearchWP Now
Icono de múltiples motores de búsqueda