Je souhaite injecter des résultats de recherche supplémentaires en plus des résultats de recherche fournis par WordPress pour la fonctionnalité de recherche de site. En gros, je dois trouver l'objet WP_Query utilisé par la recherche et le modifier.
J'imagine que je devrais utiliser le filtre posts_pre_query
et renvoyer un tableau d'objets post, dont certains seront de vrais objets post et d'autres qui seront de "faux" objets post représentant les résultats des autres sources.
Le problème que j'ai, c'est comment savoir s'il s'agit d'une requête de recherche publique - qu'est-ce qui caractérise une instance de WP_Query correspondant à un résultat de recherche publique?
add_filter( 'pre_get_posts', '__filter_pre_get_posts' );
function __filter_pre_get_posts( $query ) {
// this is to detect a public search query
if ( ! is_admin() && $query->is_search ) {
// DO your magic here...
}
}