SearchWP Documentation

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

Suchergebnisse nach Quelle (Beitragstyp) gruppieren und deren Reihenfolge festlegen

Standardmäßig gibt SearchWP Ergebnisse aus allen Quellen innerhalb einer Engine zurück, geordnet nach Relevanzgewicht in absteigender Reihenfolge.

In einigen Fällen ist es nützlich, Ergebnisse nach Quelle zu gruppieren und innerhalb jeder Quellengruppe die Ergebnisse nach Relevanz zu sortieren.

Wir können ein \SearchWP\Mod verwenden, um genau das zu tun.

All hooks should be added to your custom SearchWP Customizations Plugin.

<?php
// Group SearchWP results by Source, sort by relevance within each Source group.
// @link https://searchwp.com/documentation/knowledge-base/group-results-by-source-post-type/
add_filter( 'searchwp\query\mods', function( $mods, $query ) {
$mod = new \SearchWP\Mod();
$mod->order_by( function( $mod ) {
// Search results should be grouped by Sources in this order.
// NOTE: _ALL_ Engine Sources must be included here!
$source_order = [
'user',
\SearchWP\Utils::get_post_type_source_name( 'post' ),
\SearchWP\Utils::get_post_type_source_name( 'page' ),
];
return "FIELD({$mod->get_foreign_alias()}.source, "
. implode( ',', array_filter( array_map( function( $source_name ) {
global $wpdb;
return $wpdb->prepare( '%s', $source_name );
}, $source_order ) ) ) . ')';
}, '', 1 );
$mods[] = $mod;
return $mods;
}, 10, 2 );

Hinweis: Damit diese Anpassung vollständig wirksam wird, müssen Sie das Array $source_order mit den Quellennamen (in der gewünschten Reihenfolge) anpassen und es muss ALLE Engine-Quellen enthalten.

Der obige Ausschnitt verweist auf eine Hilfsfunktion, um den internen Quellennamen von SearchWP für Beitragstypen abzurufen. Die Quellen für Benutzer heißen user, und alle anderen Quellennamen müssen ebenfalls enthalten sein.

Wenn Sie diese Sortierung bedingt anwenden möchten, können Sie die Variable $query untersuchen, um festzustellen, ob Sie frühzeitig aussteigen oder dieses \SearchWP\Mod durch Rückgabe anwenden möchten.

Siehe auch: Einen Beitragstyp über allen anderen anzeigen lassen

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