web-dev-qa-db-fra.com

Modification des résultats de la recherche

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?

1
frodeborli
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...

    }
}
3
Ahmed Fouad