SearchWP Documentation

Consultez le guide d’installation, parcourez la base de connaissances, découvrez les nombreux hooks de SearchWP

\SWP_Query

\SWP_Query une alternative à \SearchWP\Query avec quelques différences importantes :

  1. La conception et l'implémentation sont basées sur WP_Query.
  2. En conséquence, indépendamment de la configuration de \SearchWP\Engine, les résultats seront limités aux \SearchWP\Sources basés sur WP_Post, par exemple les Articles, les Pages, les Médias et les Types d'articles personnalisés.

Utilisation de base

\SWP_Query peut être utilisé comme vous le feriez (et dans certains cas, en remplacement 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

Note : Il y a quelques mises en garde car \SWP_Query n'a pas la parité des fonctionnalités avec WP_Query. Veuillez vous référer à cette documentation qui décrit les méthodes et propriétés qui vous sont disponibles.

Notez également : Comme \SWP_Query a été conçu pour être (principalement) interopérable avec WP_Query, il peut y avoir des moments (par exemple, lorsqu'il n'y a pas de paramètre s (requête de recherche)) où vous pouvez réutiliser WP_Query pour récupérer vos résultats comme ceci :

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

Arguments

Lors de l'instanciation d'un nouvel \SearchWP\Attribute, un array des éléments suivants peut être fourni :

s (string)
Requête de recherche. (défaut : '')
engine (string)
Nom de \SearchWP\Engine. (défaut : 'default')
posts_per_page (integer)
Nombre d'articles à retourner par page. (défaut : get_option( 'posts_per_page' ))
load_posts (boolean)
Indique s'il faut retourner les résultats sous forme de WP_Posts. (défaut : true)
fields (string)
Indique s'il faut retourner "all" ou "ids". (défaut : "all")
nopaging (boolean)
Indique s'il faut désactiver la pagination et retourner tous les résultats. (défaut : false)
page (integer)
Quelle page de résultats retourner. (défaut : null)
paged (integer)
Quelle page de résultats retourner. (défaut : 1)
post__in (integer[])
Limiter le pool de recherche à ces identifiants (défaut : [])
post__not_in (integer[])
Limiter le pool de recherche à ces identifiants (défaut : [])
post_type (string[])
Limiter les résultats à ces types de publication (par défaut : [])
post_status (string[])
Limiter les résultats à ces statuts de publication (par défaut : [])
tax_query ([])
Voir tax_query (par défaut : [])
meta_query ([])
Voir meta_query (par défaut : [])
date_query ([])
Voir date_query (par défaut : [])
order (string)
Retourner les résultats dans l'ordre "ASC" ou "DESC". (par défaut : "DESC")
orderby (string)
Retourner les résultats triés par "relevance", "date" ou "rand". (par défaut : "relevance")

Méthodes

Note : Il existe des getters et setters magiques disponibles pour les propriétés.

get_search_results()
Mettre à jour l'ensemble des résultats en fonction des propriétés actuelles.
get_posts()
Retourne l'ensemble des résultats actuels.

Hooks

Il existe un certain nombre de hooks disponibles pour modifier davantage le comportement de \SWP_Query :

Créez dès aujourd'hui une meilleure expérience de recherche WordPress

Ne perdez plus jamais de visiteurs à cause de résultats de recherche inutiles. SearchWP rend la création de votre propre recherche WordPress intelligente rapide et facile.

Get SearchWP Now
Icône de moteurs de recherche multiples