SearchWP Documentation

Visualizza la guida all'installazione, sfoglia la Knowledge Base, scopri i numerosi hook di SearchWP

Priorità Archivio Termini

Versione corrente: 1.2.2

L'estensione Term Archive Priority è deprecata
Si prega di utilizzare invece una sorgente di tassonomia.

L'estensione Term Archive Priority forzerà le pagine di archivio dei termini di tassonomia a salire in cima ai risultati di ricerca quando viene trovata una corrispondenza. Questo ti permette di cercare per termine di tassonomia e di far apparire le pagine di archivio di tassonomia applicabili all'interno dei tuoi risultati di ricerca!

Questa estensione si applica solo ai motori di ricerca supplementari.

Di default, tutti i motori di ricerca supplementari applicheranno questa modifica quando il plugin è attivo, ma puoi limitarla a specifici motori di ricerca supplementari facendo qualcosa di simile a quanto segue:

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

NOTA: di default, Term Archive Priority supporta corrispondenze esatte esatte dei termini di tassonomia. Se desideri abilitare la corrispondenza di qualsiasi parola all'interno di un termine di tassonomia, utilizza il seguente filtro:

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

Una volta attivato, dovrai personalizzare il tuo loop dei risultati di ricerca in modo da tenere conto delle pagine di archivio dei termini nei risultati. Questo è un esempio completo di template del tema che illustra come implementare correttamente l'estensione 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(); ?>

Registro Modifiche

1.2.2

  • [Correzione] Gestione dei risultati in alcuni casi
  • [Correzione] Applicazione indesiderata durante l'esecuzione di ricerche Admin in alcuni casi
  • [Aggiornamento] Aggiornatore aggiornato

1.2.1

  • [Correzione] Avviso PHP
  • [Aggiornamento] Aggiornatore aggiornato

1.2.0

  • [Nuovo] Supporto per SearchWP 4

1.1.8

  • [Nuovo] Supporto per Live Search
  • [Aggiornamento] Aggiornatore aggiornato

1.1.7

  • [Correzione] Numero di argomenti passati a searchwp_term_archive_term_args
  • [Correzione] Errore irreversibile quando SearchWP non è attivo
  • [Correzione] Verifica dell'impostazione di corrispondenza parziale del core di SearchWP

1.1.6

  • [Correzione] Corregge un problema con tassonomie condivise che non apparivano nei risultati

1.1.5

  • [Correzione] Corregge un problema con l'integrazione di Live Search troppo presuntiva, ora è opt-in
  • [Nuovo] Nuovo filtro searchwp_term_archive_live_search per abilitare l'integrazione con Live Search

1.1.4

  • [Nuovo] Nuovo filtro searchwp_term_archive_term_args
  • [Miglioramento] Miglior supporto per le ricerche di Live Ajax Search
  • [Aggiornamento] Aggiornatore aggiornato

1.1.3

  • [Modifica] I termini vuoti non vengono più ignorati di default quando si utilizza la corrispondenza OR/%LIKE%
  • [Nuovo] Nuovo filtro searchwp_term_archive_term_args per personalizzare gli argomenti OR/%LIKE%

1.1.2

  • [Correzione] Corretto un problema con risultati impropri contenenti termini che coprono più tipi di post
  • [Aggiornamento] Aggiornatore aggiornato

1.1.1

  • [Miglioramento] Migliore integrazione con LIKE Terms/Fuzzy Matches per la corrispondenza di termini marziali

1.1

  • [Miglioramento] Aggiornamenti automatici basati sulla tua chiave di licenza SearchWP

0.6

  • [Miglioramento] Formattazione

0.5

  • [Correzione] Migliore gestione dell'offset
  • [Correzione] Pulizia avvisi PHP
  • [Miglioramento] I risultati ora sono ordinati in base al peso della loro tassonomia

0.4

  • [Nuovo] Nuovo filtro searchwp_tax_term_or_logic che consente la logica OR nei termini multi-parola

0.3

  • [Correzione] Corretto un problema in cui i tipi di post disabilitati non venivano presi in considerazione

0.2

  • [Correzione] Corretto un problema in cui le tassonomie venivano impostate prima che le tassonomie personalizzate fossero registrate
  • [Miglioramento] Considera termini multi-parola

0.1

  • Rilascio iniziale

Crea Oggi Stesso una Migliore Esperienza di Ricerca WordPress

Non perdere mai più visitatori a causa di risultati di ricerca inutili. SearchWP rende la creazione della tua ricerca intelligente WordPress veloce e facile.

Get SearchWP Now
Icona di motori di ricerca multipli