SearchWP Documentation

Sehen Sie sich die Installationsanleitung an, durchsuchen Sie die Wissensdatenbank und erfahren Sie mehr über die vielen Hooks von SearchWP

Live-Suchergebnisse nach Kategorie gruppieren

Die Anzeige der Ergebnisse für SearchWPs Live Search Extension wurde so konzipiert, dass sie auf jede gewünschte Weise angepasst werden kann. Wenn Sie beispielsweise Ihre Ergebnisse nach Beitrags-Kategorie gruppieren möchten, können Sie dies als Ausgangspunkt in Ihrer benutzerdefinierten Ergebnisvorlage verwenden:

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

Erstellen Sie noch heute eine bessere WordPress-Sucherfahrung

Verlieren Sie nie wieder Besucher an unzureichende Suchergebnisse. SearchWP macht die Erstellung Ihrer eigenen intelligenten WordPress-Suche schnell und einfach.

Get SearchWP Now
Symbol für mehrere Suchmaschinen