Jusqu'à présent, j'utilisais le code ci-dessous pour obtenir le nombre de résultats lorsque quelqu'un effectue une recherche et pour afficher ce nombre.
<?php /* Search Count */ $allsearch =& new WP_Query("s=$s&showposts=-1"); $count = $allsearch->post_count; echo $count . ' '; wp_reset_query(); ?>
Mais cela ne semble pas être du code valide. Il montre l'erreur ci-dessous:
Obsolète: l'attribution de la valeur de retour de new par référence est obsolète
Quelqu'un peut-il s'il vous plaît suggérer la bonne façon d'obtenir le nombre de recherches? Le code ci-dessus est placé dans l'en-tête de mon fichier index.php de thème dans une instruction conditionnelle pour afficher un en-tête différent en fonction du type de page sur lequel un utilisateur se trouve.
theme-development
Harish Chouhan
la source
la source
allsearch = new WP_Query
sans '&' pour éviter un avis obsolète.Réponses:
Si vous êtes dans le modèle de recherche, c'est-à-dire que la requête de recherche est votre requête principale. Vous devriez alors pouvoir obtenir des résultats de recherche à partir de global
$wp_query
sans exécuter de requête supplémentaire.Modifier 1
Si vous devez obtenir le décompte hors du contexte de recherche. Vous pouvez combiner les deux techniques pour obtenir un résultat efficace. Il ne récupérera pas tous les messages, mais vous pouvez obtenir le nombre de recherches.
Votre erreur
À propos de l'erreur que vous obtenez, elle se trouve ici
Supprimez le "&" à côté du signe égal pour supprimer l'erreur. Donc ça ressemblera à ça
la source