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

Beiträge sollen nicht doppelt angezeigt werden

Dieses Thema im Forum "Allgemeines" wurde erstellt von frnk, 28. Mai 2009.

  1. frnk

    frnk Member

    Registriert seit:
    28. Mai 2009
    Beiträge:
    7
    Zustimmungen:
    0
    Guten Abend,

    ich habe ein etwas komplizierteres Problem mit der Abfrage von Beiträgen.
    Auf meiner Seite stilgeschenk - stilvolle, besondere und ausgefallene Geschenke und Geschenkideen stellen wir täglich Geschenkideen ein, diese sind unterschiedlichen Personengruppen (Frauen, Männer, Paare, Kinder...) zugeordnet.
    Wie ihr seht, werden oben im Theme immer jeweils der neuste Beitrag für "Frauen", "Männer" und "Kinder" angezeigt.

    Jetzt zu meinem Problem: Wenn ein Geschenk (wie es oft passiert) beispielsweise für Männer & Frauen geeignet ist, und der Beitrag folglich beiden Kategorien zugeordnet ist, wird auf der Startseite zweimal das selbe Geschenk gezeigt, einmal bei "Männer" und einmal bei "Frauen".

    Die drei oberen Beiträge werden jeweils über eine Abfrage

    <?php query_posts('cat=4&showposts=1'); ?>
    <?php while (have_posts()) : the_post(); ?>

    abgefragt.
    Ist es möglich, dass die Abfragen untereinander "kommunizieren" nach dem Motto "Wenn bei Männer der Beitrag schon steht, dann wird nicht der neuste sondern der zweit neuste Beitrag ausgegeben"?

    Wäre über Hilfe sehr dankbar...

    Viele Grüße
    Frank
     
  2. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
  3. frnk

    frnk Member

    Registriert seit:
    28. Mai 2009
    Beiträge:
    7
    Zustimmungen:
    0
    Dann müsste ich jedoch jeden Tag, wenn neue Artikel eingestellt werden, die Abfrage neu bearbeiten, oder? Dann könnte ich die Abfrage gleich über die Post-ID machen und einfach alle drei Abfragen jeden Tag ändern... ich hätte es gerne "eigenständig" und eben "dynamisch" - wenn man das so sagen kann.

    Trotzdem Danke für den Vorschlag.
     
  4. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
  5. frnk

    frnk Member

    Registriert seit:
    28. Mai 2009
    Beiträge:
    7
    Zustimmungen:
    0
    Ok, das scheint ja doch irgendwie zu gehen. Vielen Dank für den Link. Leider komme ich damit auch nicht so recht weiter, da mein Quellcode (Theme Equilibrium) wohl etwas anders aufgebaut ist und ich leider kein PHP-Spezialist bin...
    Hilft es vielleicht, wenn ich hier mal bestimmte Teile des Quellcodes poste?
     
  6. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Selbstverständlich geht das. ;)

    Es kann zumindest nicht schaden.
     
  7. frnk

    frnk Member

    Registriert seit:
    28. Mai 2009
    Beiträge:
    7
    Zustimmungen:
    0
    Also die Ausgabe der oberen drei Beiträge sieht wie folgt aus:


    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Schön wäre es, wenn ich quasi bei der zweiten und der dritten Abfrage sagen könnte, dass er schauen soll, dass nicht der selbe Beitrag wie in Abfrage 1 bzw. 2 ausgeben soll.

    Der untere Teil der Seite (18 kleinere Previews der 18 neusten Beiträge) kann bleiben wie er ist...
     
  8. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    So vom Ansatz her, dass du weißt wie's geht. Ist jetzt nur shcnell hingetippt, aber das Prinzip sollte klar werden.
     
    #8 marX, 30. Mai 2009
    Zuletzt bearbeitet: 30. Mai 2009
  9. frnk

    frnk Member

    Registriert seit:
    28. Mai 2009
    Beiträge:
    7
    Zustimmungen:
    0
    Wow... vielen Dank. Ich habe jetzt mal versucht, dass auf die drei Beiträge anzuwenden und folgenden Quellcode gebastelt:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Ich habe versucht, die ID des ersten Beitrags zu "merken". In der zweiten Abfrage soll dann diese ID ausgeschlossen, ein anderer Beitrag angezeigt und dessen ID ebenfalls "gemerkt" werden. In der dritten Frage muss dann nur noch abgefragt werden, welche schon angezeigt wurden. Die ID dieses Posts muss ja nichtmehr "gemerkt" werden...

    Nunja, leider funktioniert das ganze so nicht :/ ich verzweifel langsam echt. Was mach ich falsch???
     
  10. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Die Zeile hier:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    brauchst du nur ganz am Anfang, um das Array zu initialisieren (d.h. ein neues, leeres Array anzulegen). Diese Zeilen:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    fügt dann jeweils die ID des gerade aausgegebenen Posts zum Array hinzu. Klar soweit?
     
  11. frnk

    frnk Member

    Registriert seit:
    28. Mai 2009
    Beiträge:
    7
    Zustimmungen:
    0
    Okay Danke... ;) mal schauen ob ichs jetzt hinbekomm :) du kannst mir - falls du willst - auch gerne kurz im ICQ / Skype schreiben (ICQ: 141451294 / Skype: frnk89) ...

    Nachtrag: Also irgendwie will es noch immer nicht. Habe den Code wie oben gepostet, nur eben diese Zeile rausgelöscht, wo du meintest, sie is überflüssig... er zeigt jedoch immernoch 2x den selben Beitrag an.
     
    #11 frnk, 30. Mai 2009
    Zuletzt bearbeitet: 30. Mai 2009
  12. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Sorry, grad nicht verfügbar, bin nicht am eigenen PC... ;)

    Und nochmal sorry - Tippfehler! Wie ich schon weiter oben schrieb, der Parameter für query_posts() heißt "post__not_in", ohne 's'. ;) Der Rest sieht gut aus, müsste dann also eigentlich funktionieren.
     
  13. frnk

    frnk Member

    Registriert seit:
    28. Mai 2009
    Beiträge:
    7
    Zustimmungen:
    0
    Oh ... das habe ich wohl überlesen...
    Jetzt bleibt mir nur noch zu sagen: VIELEN DANK! Es funktioniert tadellos ;)
     
  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