SearchWP Documentation

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

Raggruppa i Risultati della Ricerca Live per Categoria

Personalizzazione della visualizzazione dei risultati per la Live Search Extension di SearchWP è stata progettata per facilitare la personalizzazione in qualsiasi modo desideri. Se, ad esempio, desideri raggruppare i tuoi risultati per categoria di post, puoi usarlo come punto di partenza nel tuo modello di risultati personalizzato:

<?php if ( ! have_posts() ) : ?>
<p>No results</p>
<?php return; endif;?>
<?php
global $post;
$grouped_results = [];
$no_term_results = [];
while ( have_posts() ) {
the_post();
$categories = get_the_terms( $post, 'category' );
// Group by the first Category returned.
if ( ! empty( $categories ) && isset( $categories[0] ) ) {
// If this group doesn't exist yet, create it.
if ( ! array_key_exists( $categories[0]->term_id, $grouped_results ) ) {
$grouped_results[ $categories[0]->term_id ] = [
'term' => $categories[0],
'results' => [],
];
}
// Add this result to the group.
$grouped_results[ $categories[0]->term_id ]['results'][ $post->ID ] = get_post( $post->ID );
} else {
$no_term_results[ $post->ID ] = get_post( $post->ID );
}
}
// Output grouped results.
if ( ! empty( $grouped_results ) ) {
foreach ( $grouped_results as $grouped_result ) {
echo '<h3>' . esc_html( $grouped_result['term']->name ) . '</h3>';
foreach ( $grouped_result['results'] as $result ) {
?>
<div class="searchwp-live-search-result" role="option" id="" aria-selected="false">
<p>
<a href="<?php echo esc_url( get_permalink( $result->ID ) ); ?>">
<?php echo wp_kses_post( get_the_title( $result->ID ) ); ?> &raquo;
</a>
</p>
</div>
<?php
}
}
}
// Output ungrouped results.
if ( ! empty( $no_term_results ) ) {
foreach ( $no_term_results as $result ) {
?>
<div class="searchwp-live-search-result" role="option" id="" aria-selected="false">
<p>
<a href="<?php echo esc_url( get_permalink( $result->ID ) ); ?>">
<?php echo wp_kses_post( get_the_title( $result->ID ) ); ?> &raquo;
</a>
</p>
</div>
<?php
}
}

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