SearchWP Documentation

Veja o guia de instalação, navegue pela Base de Conhecimento, descubra os muitos hooks do SearchWP

\SWP_Query

\SWP_Query, uma alternativa a \SearchWP\Query com algumas diferenças importantes:

  1. O design e a implementação são modelados após WP_Query.
  2. Como resultado, independentemente da configuração de \SearchWP\Engine, os resultados serão limitados a \SearchWP\Sources baseados em WP_Post, por exemplo, Posts, Páginas, Mídia e Tipos de Postagem Personalizados.

Uso Básico

\SWP_Query pode ser usado da mesma forma que você usaria (e em alguns casos, substituindo o uso de) 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

Observação: Existem algumas ressalvas, pois \SWP_Query não tem paridade de recursos com WP_Query. Consulte esta documentação que descreve quais métodos e propriedades estão disponíveis para você.

Observe também: Como \SWP_Query foi projetado para ser (na maioria) interoperável com WP_Query, pode haver momentos (por exemplo, quando não há parâmetro s (consulta de pesquisa)) em que você pode usar WP_Query novamente para recuperar seus resultados, assim:

<?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

Ao instanciar um novo \SearchWP\Attribute, um array com os seguintes itens pode ser fornecido:

s (string)
Consulta de pesquisa. (padrão: '')
engine (string)
Nome do \SearchWP\Engine. (padrão: 'default')
posts_per_page (integer)
Número de posts a serem retornados por página. (padrão: get_option( 'posts_per_page' ))
load_posts (boolean)
Se deve retornar resultados como WP_Posts. (padrão: true)
fields (string)
Se deve retornar "all" ou "ids". (padrão: "all")
nopaging (boolean)
Se deve desabilitar a paginação e retornar todos os resultados. (padrão: false)
page (integer)
Qual página de resultados retornar. (padrão: null)
paged (integer)
Qual página de resultados retornar. (padrão: 1)
post__in (integer[])
Limite o pool de pesquisa para estes IDs (padrão: [])
post__not_in (integer[])
Limite o pool de pesquisa para estes IDs (padrão: [])
post_type (string[])
Limite os resultados a estes Tipos de Postagem (padrão: [])
post_status (string[])
Limite os resultados a estes status de postagem (padrão: [])
tax_query ([])
Veja tax_query (padrão: [])
meta_query ([])
Veja meta_query (padrão: [])
date_query ([])
Veja date_query (padrão: [])
order (string)
Retorna resultados em ordem "ASC" ou "DESC". (padrão: "DESC")
orderby (string)
Retorna resultados ordenados por "relevance", "date" ou "rand". (padrão: "relevance")

Métodos

Observação: Existem magic getters e setters disponíveis para propriedades.

get_search_results()
Atualiza o conjunto de resultados com base nas propriedades atuais.
get_posts()
Retorna o conjunto de resultados atual.

Hooks

Existem vários hooks disponíveis para modificar ainda mais o comportamento de \SWP_Query:

Crie uma Experiência de Pesquisa WordPress Melhor Hoje

Nunca mais perca visitantes para resultados de pesquisa inúteis. O SearchWP torna a criação de sua própria pesquisa inteligente do WordPress rápida e fácil.

Get SearchWP Now
Ícone de Múltiplos Mecanismos de Busca