2012-06-18 10 views
16

Ich drucke Posts und möchte die Anzahl der Ergebnisse erhalten, wie kann ich das tun?Wie bekomme ich die Anzahl der Ergebnisse von query_posts?

Dies ist Teil meines Code:

if (have_posts()) : 

    $args = array(
     'showposts' => '5', 
     'paged' => $paged 
    ); 


    $thePosts = query_posts($args); 
... 

Dankten Hilfe

+0

Do Sie möchten sagen, Ihre Suche hat _______ Ergebnisse? Wenn nicht, füge bitte mehr zu deiner Frage hinzu –

+0

@RyanB - Ich möchte zum Beispiel drucken: 5 Ergebnisse gefunden – CroiOS

+0

siehe: http://www.wpbeginner.com/wp-tutorials/display-search-term-and-result- count-in-wordpress/ –

Antwort

34

GELöST:

if (have_posts()) : 

     $args = array(
      'showposts' => '5', 
      'paged' => $paged 
     ); 


     $thePosts = query_posts($args); 


     global $wp_query; 
     echo $wp_query->found_posts; 
    ... 
+3

Sie können nur $ thePosts-> found_posts; um zu zählen! Vielen Dank für Ihre Antwort! Es zeigte mir, wie es geht ^^ –

5

Um die Anzahl der Ergebnisse einer Suche, Verwendung anzuzeigen:

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(' &mdash; '); 
echo $count . ' '; 
_e('articles'); 
wp_reset_query(); 
?> 

Dies wurde entnommen aus: WP Beginner.

3

Dies wird Ihnen die Ergebnisse geben: Zeigt zum Beispiel Ergebnisse 11-20 von 46.

$args = array(
    'cat'=> $cat, 
    'posts_per_page' => 10, 
    'paged' => $paged, 
    's'=> $s 
); 
    query_posts($args); 

    $startpost=1; 
    $startpost=10*($paged - 1)+1; 
    $endpost = (10*$paged < $wp_query->found_posts ? 10*$paged : $wp_query->found_posts); 
     ?> 
    <h2 class="displayResult">Showing results <?php echo $startpost; ?> - <?php echo $endpost; ?> of <?php echo $wp_query->found_posts; ?></h2> 

Wenn dies keine Suchseite ist, entfernen Sie einfach die Zeile "'s' => $ s".

Wenn Sie es brauchen, stellen Sie sicher, dass Sie die Variable als $ _GET ['s'] oben deklarieren.

5

Die richtige Antwort ist

if (have_posts()) : 

    $args = array(
     'showposts' => '5', 
     'paged' => $paged 
    ); 


    $thePosts = query_posts($args); 



    echo $thePosts ->found_posts; 
... 
+0

Ich habe die genehmigte Antwort http://stackoverflow.com/posts/11096000/revisions bearbeitet, um besser zu sein, aber dann wurde der Bearbeitung daher dieser andere Versuch nicht genehmigt. –

1

Einfach. Zur Anzeige Anzahl der Ergebnisse entsprechend dieser Seite verwenden

// Showing Page X of Y 
print filter_var(absint($GLOBALS['wp_query']->post_count), FILTER_SANITIZE_NUMBER_INT); 

Für die Gesamtmenge der Ergebnisse verwenden

print filter_var(absint($GLOBALS['wp_query']->found_posts), FILTER_SANITIZE_NUMBER_INT); 
1

Anzeige Anzahl der Suchergebnisse:

<?php global $wp_query; 
echo $wp_query->post_count; ?> 
+0

Das ist falsch. Dies ist die Anzahl der Posts, nicht die Anzahl der Ergebnisse. –

Verwandte Themen