Eine Variable basierend auf $ post_count erhöhen, wenn ich zur nächsten Ergebnisseite gehe

Ich konnte den besten Weg, den Titel zu schreiben, nicht herausfinden, also hoffe ich zuerst, dass du verstanden hast, was ich vermitteln wollte. Ich habe einen Codeschnipsel auf meiner Vorlagenseite, der nach der wp_query ausgetriggers wird, um eine Überschrift als solche anzuzeigen:

zeige x von y Ergebnisse für …

und der Code:

elseif ($size_option&&!$color_option&&!$genre_option) { echo '

Showing ' . $wp_query->post_count . ' of ' . $wp_query->found_posts . ' results for ' . $size_name . ', all colors, all genres

';}

Als solches wird es so etwas wie – zeigen 12 von 17 Ergebnissen für …

Das Problem ist jedoch, dass meine posts_per_page auf 12 gesetzt ist. Wenn ich also auf Seite 2 gehe (für eine Abfrage, die dazu führt, dass found_posts 17 ist), erhalten wir – 5 von 17 Ergebnissen für …

Was ist nur unlogisch.

Meine Frage ist, wie könnte ich es bekommen, um das Folgende wieder einmal zu zeigen, insgesamt 17 Beiträge:

Auf Seite 1 – zeige 1-12 von 17 Ergebnissen für …

Auf Seite 2 – zeige 13-17 von 17 Ergebnissen für …

Ich habe eine Vorstellung davon, was ich verwenden sollte, aber keine Ahnung, wie ich das anstellen soll. Ich rate, dass ich eine Art von Zählung implementieren muss, basierend auf dem ‘paged‘ => $ paged arg von meiner wp_query.

Jede Hilfe wäre wunderbar. Vielen Dank noch mal!

Mike

Wie von Johannes gefordert, meine Anfrage:

 $wp_query = new WP_Query ( array( 'post_type' => 'tshirt', 'posts_per_page' => 12, 'paged'=> $paged, 'colors' => $color_option, 'size' => $size_option, 'genres' => $genre_option)); 

Solutions Collecting From Web of "Eine Variable basierend auf $ post_count erhöhen, wenn ich zur nächsten Ergebnisseite gehe"

Angesichts Ihrer geposteten Frage und dass Sie immer noch versuchen, es herauszufinden:

Zuerst sollten Sie nicht $wp_query = new WP_Query (); , da $wp_query ein globales WordPress-Core-Objekt ist. Verwenden Sie eine beliebige andere Variable, um die benutzerdefinierte Abfrage zu speichern, $the_query = new WP_Query (); zum Beispiel.

$the_query macht der folgende Code, was Sie wollen (wenn Sie die Query-speichernde Variable $the_query ).

 $current_page = $the_query->query_vars['paged']; $per_page = $the_query->query_vars['posts_per_page']; $total_posts = intval($the_query->found_posts); $first_paged_post = (($current_page - 1) * $per_page) + 1; $last_paged_post = min($current_page * $per_page, $total_posts); echo '

On page '.$current_page.' - Showing #'.$first_paged_post; // to account for the case where the last page has only one post (ie total of 13, 25) if ($last_paged_post != $first_paged_post) { echo ' - #'.$last_paged_post; } echo ' of '.$total_posts.' results for '.$size_name.', all colors, all genres

';

Bearbeiten, Hinweis: Während dies mehr Copy & Paste-bereit ist, folgt es der gleichen grundlegenden Logik wie bereits Geerts Snippet bereitgestellt.

Ich habe diese Variablen einmal für die Kohana Pagination-Bibliothek berechnet. Wenn Sie die Variablen durch Ihre eigenen ersetzen, sollten Sie alle eingestellt sein.

 $current_first_item = (int) min((($current_page - 1) * $items_per_page) + 1, $total_items); $current_last_item = (int) min($current_first_item + $items_per_page - 1, $total_items);