SearchWP Documentation

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

Priorité d'archive de termes

Version actuelle : 1.2.2

L'extension Term Archive Priority est obsolète
Veuillez utiliser une source de taxonomie à la place.

L'extension Term Archive Priority forcera les pages d'archives de termes de taxonomie à remonter en haut des résultats de recherche lorsqu'une correspondance est trouvée. Cela vous permet de rechercher par terme de taxonomie et d'avoir les pages d'archives de taxonomie applicables s'afficher dans vos résultats de recherche !

Cette extension ne s'applique qu'aux moteurs de recherche supplémentaires.

Par défaut, tous les moteurs de recherche supplémentaires appliqueront cette modification lorsque le plugin est actif, mais vous pouvez la limiter à des moteurs de recherche supplémentaires spécifiques en faisant quelque chose comme ceci :

<?php
function my_maybe_include_term_archive( $include, $engine, $terms ) {
// only have term archives included for supplemental search engine with name 'supplemental'
return ( $engine == 'supplemental' ) ? true : false;
}
add_filter( 'searchwp_term_archive_enabled', 'my_maybe_include_term_archive', 10, 3 );
view raw gistfile1.php hosted with ❤ by GitHub

NOTE : par défaut, Term Archive Priority prend en charge les correspondances de termes de taxonomie exactes. Si vous souhaitez activer la correspondance de n'importe quel mot dans un terme de taxonomie, utilisez le filtre suivant :

<?php
add_filter( 'searchwp_tax_term_or_logic', '__return_true' );
view raw gistfile1.php hosted with ❤ by GitHub

Une fois activé, vous devrez personnaliser votre boucle de résultats de recherche afin de tenir compte des pages d'archives de termes dans les résultats. Voici un exemple complet de modèle de thème décrivant comment implémenter correctement l'extension Term Archive Priority :

<?php
/* Template Name: SearchWP Term Archive Priority Sample */
global $post;
// Retrieve applicable query parameters.
$search_query = isset( $_GET['searchwp'] ) ? sanitize_text_field( $_GET['searchwp'] ) : null;
$search_page = isset( $_GET['swppg'] ) ? absint( $_GET['swppg'] ) : 1;
// Perform the search.
$search_results = [];
$search_pagination = '';
if ( ! empty( $search_query ) && class_exists( '\\SearchWP\\Query' ) ) {
$searchwp_query = new \SearchWP\Query( $search_query, [
'engine' => 'supplemental', // The Engine name.
'fields' => 'all', // Load proper native objects of each result.
'page' => $search_page,
] );
$search_results = $searchwp_query->get_results();
$search_pagination = paginate_links( array(
'format' => '?swppg=%#%',
'current' => $search_page,
'total' => $searchwp_query->max_num_pages,
) );
}
get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<header class="page-header">
<h1 class="page-title">
<?php if ( ! empty( $search_query ) ) : ?>
<?php printf( __( 'Search Results for: %s' ), esc_html( $search_query ) ); ?>
<?php else : ?>
SearchWP Supplemental Search
<?php endif; ?>
</h1>
<!-- BEGIN Supplemental Engine Search form -->
<form role="search" method="get" class="search-form"
action="<?php echo site_url( 'search-results/' ); ?>">
<label>
<span class="screen-reader-text">
<?php echo _x( 'Search for:', 'label' ) ?>
</span>
<input type="search" class="search-field"
name="searchwp"
placeholder="<?php echo esc_attr_x( 'Search...', 'placeholder' ) ?>"
value="<?php echo isset( $_GET['searchwp'] ) ? esc_attr( $_GET['searchwp'] ) : '' ?>"
title="<?php echo esc_attr_x( 'Search for:', 'label' ) ?>" />
</label>
<input type="submit" class="search-submit"
value="<?php echo esc_attr_x( 'Search', 'submit button' ) ?>" />
</form>
<!-- END Supplemental Engine Search form -->
</header>
<?php if ( ! empty( $search_query ) && ! empty( $search_results ) ) : ?>
<?php foreach ( $search_results as $search_result ) : ?>
<article class="page hentry search-result">
<?php
switch( get_class( $search_result ) ) {
case 'WP_Post':
$post = $search_result;
?>
<header class="entry-header"><h2 class="entry-title">
<a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a>
</h2></header>
<div class="entry-summary"><?php the_excerpt(); ?></div>
<?php
wp_reset_postdata();
break;
case 'SearchWPTermResult':
?>
<header class="entry-header"><h2 class="entry-title">
<a href="<?php echo $search_result->link; ?>">
<?php echo $search_result->taxonomy; ?>: <?php echo $search_result->name; ?>
</a>
</h2></header>
<div class="entry-summary">
<p><?php echo $search_result->description; ?></p>
</div>
<?php
break;
}
?>
</article>
<?php endforeach; ?>
<?php if ( $searchwp_query->max_num_pages > 1 ) : ?>
<div class="navigation pagination" role="navigation">
<h2 class="screen-reader-text">Results navigation</h2>
<div class="nav-links"><?php echo wp_kses_post( $search_pagination ); ?></div>
</div>
<?php endif; ?>
<?php elseif ( ! empty( $search_query ) ) : ?>
<p>No results found, please search again.</p>
<?php endif; ?>
</main> <!-- .site-main -->
</div> <!-- .content-area -->
<?php get_footer(); ?>

Journal des modifications

1.2.2

  • [Correction] Gestion des résultats dans certains cas
  • [Correction] Application non désirée lors de la recherche dans l'administration dans certains cas
  • [Mise à jour] Updater mis à jour

1.2.1

  • [Correction] Avertissement PHP
  • [Mise à jour] Updater mis à jour

1.2.0

  • [Nouveau] Prise en charge de SearchWP 4

1.1.8

  • [Nouveau] Prise en charge de la recherche instantanée
  • [Mise à jour] Updater mis à jour

1.1.7

  • [Correction] Nombre d'arguments passés à searchwp_term_archive_term_args
  • [Correction] Erreur fatale lorsque SearchWP n'est pas actif
  • [Correction] Vérifier le paramètre de correspondance partielle du cœur de SearchWP

1.1.6

  • [Correction] Corrige un problème avec les taxonomies partagées n'apparaissant pas dans les résultats

1.1.5

  • [Correction] Corrige un problème avec l'intégration de la recherche instantanée trop présomptueuse, elle est maintenant facultative
  • [Nouveau] Nouveau filtre searchwp_term_archive_live_search pour activer l'intégration de la recherche instantanée

1.1.4

  • [Nouveau] Nouveau filtre searchwp_term_archive_term_args
  • [Amélioration] Meilleur support pour les recherches Live Ajax Search
  • [Mise à jour] Updater mis à jour

1.1.3

  • [Changement] Les termes vides ne sont plus ignorés par défaut lors de l'utilisation de la correspondance OR/%LIKE%
  • [Nouveau] Nouveau filtre searchwp_term_archive_term_args pour personnaliser les arguments OR/%LIKE%

1.1.2

  • [Correction] Correction d'un problème avec des résultats incorrects contenant des termes couvrant plusieurs types de publication
  • [Mise à jour] Updater mis à jour

1.1.1

  • [Amélioration] Meilleure intégration avec les termes LIKE/correspondances floues pour la correspondance de termes martiaux

1.1

  • [Amélioration] Mises à jour automatiques basées sur votre clé de licence SearchWP

0.6

  • [Amélioration] Mise en forme

0.5

  • [Correction] Meilleure gestion du décalage
  • [Correction] Nettoyage des avertissements PHP
  • [Amélioration] Les résultats sont maintenant triés par le poids de leur taxonomie

0.4

  • [Nouveau] Nouveau filtre searchwp_tax_term_or_logic qui permet la logique OU dans les termes multi-mots

0.3

  • [Correction] Correction d'un problème où les types de publication désactivés n'étaient pas pris en compte

0.2

  • [Correction] Correction d'un problème où les taxonomies étaient définies avant l'enregistrement des taxonomies personnalisées
  • [Amélioration] Prise en compte des termes multi-mots

0.1

  • Version initiale

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