Support » Allgemeine Fragen » Blogbeiträge zeigen maximal und pre_get_posts-excludes

  • Heute benötige ich auch mal eure Hilfe:
    Ich habe folgenden Code in der functions.php um zwei Beiträge (x und y) vom Main Query auszuschließen, der als Grid (1-9) angezeigt wird. x und y werden mit einem eigenen Query geholt (letzter Post aus der Kategorie featured bzw. featured-2). Damit es auf der Startseite keine Dopplung gibt schließe ich daher x und y aus dem main query aus.
    Das sieht dann also so aus:

    +-----------+
    |  x  |  y  |
    +---+---+---+
    | 1 | 2 | 3 |
    +---+---+---+
    | 4 | 5 | 6 |
    +---+---+---+
    | 7 | 8 | 9 |
    +---+---+---+
    function exclude_single_posts_home($query) {
      	if ($query->is_home() && $query->is_main_query()) {
    
        	$query->set( 'post__not_in', array( x, y ) );
      }
    }
    add_action('pre_get_posts', 'exclude_single_posts_home');

    Jetzt kommt mein Problem.
    „Blogseite zeigt maximal“ steht auf 9, damit das 3er-Grid gut aussieht. Mit dem pre_get_post-Filter werden aber 11 angezeigt. Ich kann jetzt den Wert auf 7 runterstellen (damit wieder 9 angezeigt werden), aber ich verstehe gerade nicht, warum das überhaupt passiert und ob und wie ich es programmatisch lösen kann.

    Kann mir da jemand weiterhelfen?

    Beste Grüße
    Torsten

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • x und y werden mit get_posts geholt. Hatte gehofft, dass es daran liegt, aber lokal mit Twenty Sixteen bekomme ich das Problem gerade nicht nachgestellt. Irgendetwas übersehe ich wohl …

    Hat auf jeden Fall mit den oben angepinnten Beiträgen zu tun. Aber
    $query->set( 'ignore_sticky_posts', true );
    ist leider keine Lösung, denn auf das oben anpinnen möchte ich nicht verzichten. Nur auf die falsche Zählung …

    Gruß, Torsten

    Hallo Torsten, für die Beantwortung wäre jetzt interessant, was im Templates steht.

    Spontan würde ich vermuten, dass zwischen der Query der ersten beiden Beiträge und der folgenden Loop ein wp_reset_postdata() fehlt?

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Das Thema „Blogbeiträge zeigen maximal und pre_get_posts-excludes“ ist für neue Antworten geschlossen.