Ordenar publicaciones, páginas y tipos de contenido personalizado por fecha
Por defecto, SearchWP ordena los resultados por relevancia, de mayor a menor. Usando un Modo de SearchWP, podemos anular la ordenación de los resultados para que se devuelvan en el orden en que se publicaron, ordenados de más reciente a más antiguo.
All hooks should be added to your custom 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 ); |
Tenga en cuenta que este hook solo se aplica a Fuentes basadas en WP_Post (por ejemplo, Entradas, Páginas, Tipos de contenido personalizado), pero se puede modificar para considerar cualquier Fuente personalizada que pueda estar utilizando.

