web-dev-qa-db-fra.com

Si aucun résultat de recherche, affiche les messages d'une requête de recherche alternative

J'ai une boucle assez standard qui affiche "Désolé, aucun message trouvé" lorsqu'un résultat de recherche est vide.

if ( have_posts() ) : while ( have_posts() ) : the_post();
    get_template_part ( 'templates/post', 'main' );
endwhile; else:
    echo 'Sorry, No Posts Found';
endif; 

Comment puis-je afficher d'autres messages sous ce message?

Donc, si quelqu'un cherche "Tacos" et qu'aucun message n'est trouvé, la page de résultats affichera:

Désolé, aucun message trouvé. Mais voici quelques articles sur la pizza ...

2
Rich

Je ne l'ai jamais vu faire auparavant, mais la logique de PHP IF/ELSE devrait vous permettre de simplement ajouter une nouvelle requête après le ELSE:

if ( have_posts() ) : while ( have_posts() ) : the_post();
    get_template_part ( 'templates/post', 'main' );
    endwhile; 
else:
    $the_query = new WP_Query( $args );
    if ( $the_query->have_posts() ) : 
        while ( $the_query->have_posts() ) : 
           $the_query->the_post();
        endwhile;
    endif;

endif;

Ceci n'est pas testé de mon côté.

6
jdm2112