web-dev-qa-db-fra.com

Comptage des postes pour la catégorie et le tag

J'ai ce code qui compte le résultat trouvé quand une recherche est faite. Voici le code.

<?php /* Search Count */ 
    $allsearch = &new WP_Query("s=$s&showposts=-1"); 
    $key = wp_specialchars($s, 1); 
    $count = $allsearch->post_count; 
    $text  = '<span class="resultsFound">';
if ( $allsearch->found_posts <= 0 ) {
    $text .= sprintf(__( '( Nothing Found )' ), $count );
}

elseif ( $allsearch->found_posts <= 1 ) {
    $text .= sprintf(__( '( We found %d company )' ), $count );
} 

else {
    $text .= sprintf(__( '( We found %d companies )' ), $count );
}       
$text .= '</span>'; 
echo $text;
?>

Le code ci-dessus est le code permettant de compter tous les messages trouvés dans la page de recherche. Je souhaite appliquer cette fonction à ma catégorie ainsi qu'à la page de balises. Toute solution?

1
Jornes

N'exécutez pas de requête personnalisée pour obtenir le nombre de publications. Ceci est déjà fait par la requête principale. Ce que vous faites équivaut à manger deux fois le même morceau de viande. :-)

Comme indiqué précédemment, la requête principale renvoie déjà le nombre de publications trouvées via la propriété $found_posts. Vous pouvez y accéder et l’afficher n’importe où sur une page comme suit

echo $wp_query->found_posts;

Cela imprimera le nombre de publications trouvées par la requête principale qui maquillent la requête d'URL.

Vous pouvez utiliser les éléments suivants sur n’importe quelle page de votre site. Il vous suffit de modifier le texte si nécessaire.

<?php 
    /* Search Count */ 
    $count = $wp_query->found_posts; 
    $text  = '<span class="resultsFound">';
if ( $count  <= 0 ) {
    $text .= sprintf(__( '( Nothing Found )' ), $count );
}

elseif ( $count <= 1 ) {
    $text .= sprintf(__( '( We found %d company )' ), $count );
} 

else {
    $text .= sprintf(__( '( We found %d companies )' ), $count );
}       
$text .= '</span>'; 
echo $text;
?>
1
Pieter Goosen