web-dev-qa-db-fra.com

Balise conditionnelle search-no-results

Existe-t-il un moyen de créer une balise conditionnelle qui teste si elle contient la page search-no-results?

Je sais qu'il existe une fonction permettant de vérifier si is_search() page:

if(is_search()){
    echo "search page";
}

Mais je n'ai pas trouvé de moyen de vérifier les résultats de recherche, et j'ai remarqué que WordPress donnait une classe de corps avec search-no-results à cette page.

3
Erez Lieberman

Il n'y a pas de balise conditionnelle pour aucun résultat sur une page de recherche, mais vous pouvez en créer une vous-même.

En gros, il vous suffit de vérifier la valeur de $wp_query->found_posts. S'il s'agit de 0, renvoie false, toute autre valeur, renvoie true.

function is_search_has_results() {
    return 0 != $GLOBALS['wp_query']->found_posts;
}
7
Pieter Goosen

En fait, ça devrait être comme ça.

function is_search_has_results() {
  if ( is_search()) {
    global $wp_query;
    $result = ( 0 != $wp_query->found_posts ) ? true : false;
    return $result;
  }
}
1
Vadim Ilyin