1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Kategorie aus einem doppelten Loop ausschließen

Dieses Thema im Forum "Konfiguration" wurde erstellt von jared, 7. April 2008.

  1. jared

    jared Gast

    Hallo an alle WP'ler ;)

    ich bin zurzeit mit dem Loop beschäftigt und komme bei einer Sache einfach nicht weiter. Und zwar will ich den ersten Beitrag normal ausgeben lassen und die nachfolgenden als gekürzte Fassung.

    Klappt auch alles super.

    Jetzt hab ich bei mir im Footer (im neuen Layout was noch nicht online steht) eine art "featured artikel".. Dort werden nur Beiträge einer besonderen Kategorie angezeigt.

    Ich scheitere aber daran die Kategorie aus dem Loop auszuschließen :( Vielleicht erklärt mein Code es noch ein bissle besser..

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Der Eintrag:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    verhindert ja das die Kategorie "1" angezeigt wird. Aber wie kann ich diese Kategorie aus dem oberen Loop auschließen?
    Ich komme irgendwie noch nicht auf den trichter :(

    Weiß jemand Rat?

    Versucht habe ich es schon mit:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    aber dann zeigt er mir einfach im oberen Loop den letzten Beitrag an. Gibs noch ne andere Möglichkeit?

    Wär super dankbar für nen kleinen Tip in die richtige Richtung
     
  2. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.696
    Zustimmungen:
    0
    Ich fasse noch mal zusammen, um es Dir geht: Oben wird ein einzelner Artikel ausgegeben, unten der normale Loop. Im unteren Loop klappt das Ausschließen einer Kategorie schon, im oberen nicht. Stimmt das?

    Wenn die auszuschließende Kategorie nur Beiträge enthält, die keine anderen Kategorien zugeordnet haben, kannst Du in beiden Loops einfach "cat=-<ID>" ergänzen. ID der Kategorie dort einfügen, das Minus davor sorgt für den Ausschluss.

    Wenn das also bei Dir nicht geht, liegt es eventuell daran, dass die Beiträge mehreren Kategorien zugeordnet sind? Falls nicht, könnte es daran liegen, dass die ID 1 ist? Hast Du es mal mit einer anderen Kategorie probiert? In einigen Template-Tags ist "-1" ja der Default-Wert, auch wenn das hier eigentlich nicht sein darf (aber ich bin zu faul, das wieder aus dem WP-Quellcode rauszusuchen...).

    Wenn es das auch nicht ist, würde ich was anderes vorschlagen: Mach daraus doch einfach wieder einen Loop, das ist eh einfacher. Definiere Dir eine kleine Zählvariable und setze sie im Loop hoch. Wenn sie 1 ist, gibt es die komplette Ausgabe, ansonsten die gekürzte Ansicht. Da drin kannst Du zur Not ja wie bisher auch mit in_category prüfen.
     
  3. jared

    jared Gast

    Danke dir für deine ausführliche antwort :)

    Ja die Kategorie ist die 1..
    Ist das echt so schlimm bei WordPress? Wusste nicht das es sofort solche Auswirkungen hat..

    Ich werde es mal mit ner anderen ID versuchen und wenn nicht melde ich mich nochmal bezüglich deines anderen Vorschlags ;) der klingt auch nicht schlecht
     
  4. jared

    jared Gast

    Leider komme ich immer noch nicht weiter :(

    Es liegt nicht daran welche Kategorie ich ausschließe. Wenn ich Kategorie 5 ausschließen will und diesen Codeschnipsel benutze:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    dann wird schon wieder der ganz erste Beitrag im ersten loop gezeigt, im 2ten Loop ist alles ok!

    Deinen 2ten Vorschlag schaffe ich nicht umzusetzen. Da scheiter ich dran - warum auch immer.
    Was mache ich bei der "cat=-5" Geschichte falsch?

    Gibt es noch andere Möglichkeiten???
     
  5. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.696
    Zustimmungen:
    0
    Also ich habe Deinen Code für den ersten Loop gerade mal in meine index.php eingebaut und bei mir funktioniert es. Mit -1 wird mir dann der neueste Beitrag ausgegeben, der nicht ausschließlich der Kategorie 1 zugeordnet ist.

    Wenn Du schreibst "dann wird schon wieder der ganz erste Beitrag im ersten Loop gezeigt", was meinst Du damit eigentlich genau? Es wird der älteste Beitrag ausgegeben? Hat dieser Beitrag denn die auszuschließende Kategorie zugeordnet und auch nur diese und keine andere? Denn wenn nicht, ist es ja erstmal nicht direkt falsch, Deine Query enthält ja keine Angabe darüber, wie sortiert werden soll. Falls es der älteste Beitrag ist anstatt des neuesten aber sonst alles stimmt: Hängt das vielleicht mit dem falsch-herum-sortieren-Bug von MySQL von letztens zusammen? Hast Du da für die normalen Ansichten einen Fix eingebaut, der hier vielleicht nicht wirkt?
     
  6. jared

    jared Gast

    Hi du,

    da bin ich wieder.
    Ich komm einfach nicht mehr weiter ;)


    Ich hab das mit dem doppelten loop jetzt aufgegeben, vllt klappt es ja mit der Lösung die du vorgeschlagen hast besser.

    Wie bekomme ich das denn hin? Hat jemand vllt ein kleines Beispiel dafür? Ich weiß leider nicht wie ich das genau anstellen soll..
     
  7. jared

    jared Gast

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden