Dans ce tutoriel, nous allons vous montrer comment ajouter une fonction simple sur votre page de recherche qui affichera le terme de recherche et le nombre de résultats. Cette fonctionnalité a été une demande spéciale d'un de nos utilisateurs par e-mail. Si vous souhaitez que nous abordions un sujet, n'hésitez pas à faire une suggestion.

Ouvrez votre fichier search.php dans votre thème et ajoutez le code suivant :
<h2 class="pagetitle">Search Result for <?php /* Search Count */ $allsearch = new WP_Query("s=$s&showposts=-1"); $key = wp_specialchars($s, 1); $count = $allsearch->post_count; _e(''); _e('<span class="search-terms">'); echo $key; _e('</span>'); _e(' — '); echo $count . ' '; _e('articles'); wp_reset_query(); ?></h2>
Le code ci-dessus affichera quelque chose comme ceci :
Recherche du terme "twitter" — 15 articles
Vous pouvez également mettre en surbrillance le terme de recherche en ajoutant la classe CSS .search-terms à la feuille de style de votre thème. Voici un CSS simple pour commencer :
.search-terms {
background-color:yellow;
color:blue;
}
Ce n'est qu'une des choses intéressantes que vous pouvez faire pour votre page de recherche lors de sa personnalisation. Vous pouvez également mettre en surbrillance les termes de recherche dans les résultats, et même ajouter une fonctionnalité de recherche par catégorie à votre recherche WordPress.
Source : Michael Martin

Aniruddh
Puis-je utiliser ce code dans le fichier sidebar.php ? Car j'ai besoin d'afficher le terme de recherche et le nombre de résultats dans la barre latérale. S'il vous plaît, aidez-moi.
Marco
thanks a lot for this snippet!
selon le codex de wp, la fonction wp_specialchars est obsolète. il dit que vous devriez utiliser esc_html à la place.
salutations, marco
Marco
La prochaine fois, je regarderai attentivement les commentaires. CHADHAYTON a déjà posté un lien expliquant comment vous pouvez le gérer maintenant.
Henry
echo $wp_query->found_posts;
L'ajout de ceci en haut de votre page de recherche affichera le nombre d'articles trouvés pour une recherche particulière.
echo get_search_query();
Ceci affichera le terme de recherche (saisi dans la zone de recherche par le visiteur de votre site).
timer_stop(1);
Ceci affichera le temps nécessaire à l'exécution de la recherche.
Ensemble, vous pourriez obtenir quelque chose comme ceci :
Votre recherche de « grains de café » a retourné « 16 » articles en « 0,87 » secondes.
jameslhf
Thank you Henry, that helped me!
Prasanna
Merci Henry. Cela m'a beaucoup aidé.
chadhayton
Il est difficile de dire l'âge de cette publication, mais WordPress 3.1 inclut un moyen d'obtenir le nombre total de résultats de recherche qui ne nécessite pas de requête séparée :
http://codex.wordpress.org/Creating_a_Search_Page#Display_Total_Results
Chris Murphy
Wow. C'est beaucoup plus simple que cela de compter les résultats de recherche de WordPress, ici :
global $wp_query; $count = sizeof( $wp_query->posts ); echo"<pre>"; //var_dump($wp_query);// The WP Query Object var_dump($wp_query->posts); // The WP Query Object's 'posts' property (note the plural) echo"</pre>";Si vous insérez cet extrait dans votre modèle de recherche, il affichera les propriétés de la variable '$wp_query', spécifiquement la propriété 'posts' de l'objet. Il s'agit d'un tableau qui stocke une collection des publications renvoyées par la requête de recherche, avec lesquelles vous pouvez faire un certain nombre de choses une fois que vous y accédez, y compris (*roulement de tambour*), *compter* le nombre de publications dans ce tableau en utilisant soit la fonction 'count()' de PHP, soit 'sizeof()' functio
Personnel éditorial
Votre code est un peu coupé. Y a-t-il un moyen de nous envoyer l'extrait par e-mail afin que nous puissions l'essayer et en parler. Bien sûr, le mérite vous sera entièrement attribué.
Admin
Ilya
Chris,
Cela ne fonctionnera pas. Le but est de trouver le nombre total de résultats correspondant à la requête, pas le nombre actuellement récupéré. S'il y a plus de résultats que ce qui "tient" sur une page, votre code n'obtiendra que le nombre d'éléments sur une page.
pete
Les résultats de recherche sont une affaire personnelle pour un utilisateur, il est donc bon qu'ils reçoivent beaucoup d'informations.
basilakis
So the code is right or not?
I see Konstantin has some point about the query, but the comments “ate” the results!
Personnel éditorial
Ce code est correct. Il fonctionne, le seul problème qu'il souligne est qu'il peut être fait différemment également. Nous avons utilisé ce code sur le site Web d'un client et il fonctionne.
Admin
Konstantin
Bonne idée. Mauvaise exécution.
Pourquoi diable voudriez-vous traduire une balise span ???
Et mon préféré :
_e('');Hein ??Pourquoi voudriez-vous interroger la même recherche deux fois ?
Ça n'a aucun sens.
Mais je ne veux pas détester, voici comment cela devrait être fait (à mon humble avis) :
post_count); ?>
Tom
Je ne réfléchis pas assez à la recherche sur ma page. Quelque chose comme ça est génial car cela rend la page plus personnalisée.