Beiträge, Seiten, benutzerdefinierte Beitragstypen nach Datum sortieren
Standardmäßig sortiert SearchWP die Ergebnisse nach Relevanz, von der höchsten zur niedrigsten. Mit einem SearchWP Mode können wir die Sortierung der Ergebnisse überschreiben, um stattdessen die Reihenfolge der Veröffentlichung, sortiert von den neuesten zu den ältesten, zurückzugeben.
Alle Hooks sollten zu Ihrem benutzerdefinierten SearchWP Customizations Plugin hinzugefügt werden.
| <?php | |
| // Sort SearchWP Post, Page, and Custom Post Type Results by date in DESC order. | |
| add_filter( 'searchwp\query\mods', function( $mods, $query ) { | |
| foreach ( $query->get_engine()->get_sources() as $source ) { | |
| $flag = 'post' . SEARCHWP_SEPARATOR; | |
| if ( 'post.' !== substr( $source->get_name(), 0, strlen( $flag ) ) ) { | |
| continue; | |
| } | |
| $mod = new \SearchWP\Mod( $source ); | |
| $mod->order_by( function( $mod ) { | |
| return $mod->get_local_table_alias() . '.post_date'; | |
| }, 'DESC', 1 ); | |
| $mods[] = $mod; | |
| } | |
| return $mods; | |
| }, 20, 2 ); |
Beachten Sie, dass dieser Hook nur für WP_Post-basierte Quellen (z. B. Beiträge, Seiten, benutzerdefinierte Beitragstypen) gilt, aber er kann modifiziert werden, um benutzerdefinierte Quellen zu berücksichtigen, die Sie möglicherweise verwenden.

