it-swarm.com.de

Legen Sie die Anzahl der Artikel pro Seitenzahl fest

Ich erstelle eine Zeitleiste mit diesem fantastischen kostenlosen Thema .

Wie Sie in diesem Thema sehen können, handelt es sich um eine durch "Seite" getrennte Zeitachse. Wir haben "Seite 1" mit 5 Artikeln, "Seite 2" mit 5 Artikeln, etc ...

Ich habe das geändert durch:

  • "Seite 1" wird -> September
  • "Seite 2" werden -> Oktober
  • "Seite 3" werden -> November

um dieses Thema in Echtzeit anzupassen. Es funktioniert super.

Mein letztendliches Problem ist, dass ich nicht weiß, wie ich die Anzahl der Artikel pro Seitenzahl festlegen soll. Es ist wie 4 Artikel pro Seite, das war's. (Natürlich kann ich diesen Wert einstellen).

So: Ich habe 3 Artikel im September und 4 im Oktober geschrieben. Mit diesem Verwendungszweck befinden sich meine 3 Artikel im September auf der "September-Seite" und dem ersten Artikel schrieb im Oktober wird auch in "September Seite" sein.

Meine Frage ist also einfach: Kann ich die Anzahl der Artikel pro Zahlenseite einstellen?

  • Seite 1 (September): 4 Artikel max.
  • Seite 2 (Oktober): 8 Artikel max.
  • Seite 3 (November): 1 Artikel max.

Nach einigen Suchen sah ich dieses Codebeispiel:

add_action( 'pre_get_posts',  'set_posts_per_page'  );
function set_posts_per_page( $query ) {

  global $wp_the_query;

  if ( ( ! is_admin() ) && ( $query === $wp_the_query ) && ( $query->is_search() ) ) {
    $query->set( 'posts_per_page', 3 );
  }
  elseif ( ( ! is_admin() ) && ( $query === $wp_the_query ) && ( $query->is_archive() ) ) {
    $query->set( 'posts_per_page', 5 );
  }
  // Etc..

  return $query;
}

quelle: Anzahl der Beiträge pro Seite ändern

Das ist genau das, was ich will, aber nicht auf "Artikelkategorie", sondern auf Seitenzahl

as (mein Pseudocode)

if ( ( ! is_admin() ) && ( $query === $wp_the_query ) && ( $query->is_page(1) ) {
        $query->set( 'posts_per_page', 4 );  // **SEPTEMBER**
      }
if ( ( ! is_admin() ) && ( $query === $wp_the_query ) && ( $query->is_page(2) ) {
            $query->set( 'posts_per_page', 3 ); // **OCTOBER**
          }
2
GreGGus

Die Paginierung ergibt sich aus der Kombination zweier Faktoren: Seitengröße und Versatz. In der Regel ist die Seitengröße konstant und der Versatz entspricht der Seitengröße und der aktuellen Seite.

Ist es möglich, die von Ihnen beschriebene hochauflösende Paginierung aufzubauen? Technisch ja. Das wäre wichtig, um die Seitengröße und den Offset auf eine aufwändigere Weise anzupassen.

Wie spezifisch eine solche Implementierung auch sein mag, wäre äußerst unpraktisch. Stellen Sie sich vor, Sie befinden sich auf einer Seite 15. Wie bestimmen Sie , welcher Monat es ist? Sie müssten den gesamten Weg zurückverfolgen, um Seite für Seite 14 der vorherigen Seiten neu zu erstellen, um einen Hinweis darauf zu erhalten, an welcher Stelle Sie sich befinden. Beachten Sie, dass wahrscheinlich nicht alle Monate Beiträge haben werden, auch wenn dies gerade der Fall ist.

Was könntest du stattdessen tun? Verwenden Sie Datumsarchive . WP kann problemlos Seiten erstellen, die ein zeitbasiertes Archiv für einen bestimmten Monat (z. B. example.com/2016/06/) enthalten.

An einem bestimmten Monat wissen Sie genau, zu welchem ​​Zeitpunkt Sie sich befinden. Der Rest besteht lediglich darin, Benutzeroberflächen/Links zu anderen Monaten bereitzustellen, anstatt einer typischen Paginierung (z. B. mit wp_get_archives()).

1
Rarst