Trier les publications, pages, types de publications personnalisées par date
Par défaut, SearchWP trie les résultats par ordre de pertinence, du plus pertinent au moins pertinent. En utilisant un Mode SearchWP, nous pouvons remplacer le tri des résultats pour qu'ils soient renvoyés dans l'ordre de leur publication, triés du plus récent au plus ancien.
Tous les hooks doivent être ajoutés à votre plugin personnalisé SearchWP Customizations Plugin.
| <?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 ); |
Notez que ce hook s'applique uniquement aux sources basées sur WP_Post (par exemple, articles, pages, types d'articles personnalisés), mais il peut être modifié pour prendre en compte toute source personnalisée que vous pourriez utiliser.

