query_posts für Wochentag

  • Ich habe folgende Idee:

    Ich möchte sieben Seiten erstellen mit den Namen:

    Monday, Tuesday, Wendsday ...

    und diese Seiten dann dynamisch je nach Wochentag einbinden.
    Hab folgenden Code ausprobiert.

    PHP
    <?php query_posts('pagename='.date(l)); ?>


    Funktioniert aber nicht.
    "Natürlich", werdet Ihr sagen, "kann ja nicht".

    Ich bin da eben nicht so fit.
    Wie muss ich das machen?

    tschüß [size=24][color=olive]n[/color][/size]epf

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hab folgenden Code ausprobiert.

    PHP
    <?php query_posts('pagename='.date(l)); ?>


    Funktioniert aber nicht.


    "Funktioniert nicht" heißt? Fehlermeldung?
    date('l') dürfte es sein. Die Rückgabe muss exakt dem Page-Slug entsprechen, wenn ich die Doku richtig deute. Also den Rückgabewert evtl. noch in Kleinbuchstaben umwandeln.

  • vielleicht liegts auch daran, dass ich das zur Zeit erst lokal teste un da kann ich nicht mit Permalinks arbeiten und dann klappt das mit den slugs irgendwie nicht so gut.

    Ich machs jetzt so:

    PHP
    <?php if(date(w) == 1) query_posts('page_id=108');?>
                        <?php if(date(w) == 2) query_posts('page_id=110');?>
                        <?php if(date(w) == 3) query_posts('page_id=112');?>
                        <?php if(date(w) == 4) query_posts('page_id=114');?>
                        <?php if(date(w) == 5) query_posts('page_id=116');?>
                        <?php if(date(w) == 6) query_posts('page_id=125');?>
                        <?php if(date(w) == 0) query_posts('page_id=127');?>

    klappt soweit prima.

    Aber eine Nachfrage, hier z.B.

    PHP
    <?php if(date(w) == 3) query_posts('page_id=112');?>


    würde ich gern nicht nur die Seite 112 sondern darunter auch noch die Seite 114 abbilden.

    Wie muss ich das machen? Mehrere Seiten?

    tschüß [size=24][color=olive]n[/color][/size]epf

  • [CODE]<?php if(date(w) == 3)


    >>w<< ist eine Konstante? Ansonsten dürfte dein Code einen Fehler liefern - date() erwartet einen String als Parameter! (In deinem Code wäre w eine Konstante, es sollte also bei dir die Meldung kommen: "undefined constant w in ...", wenn das PHP-Error-Reporting richtig eingestellt ist)

    Zitat

    Wie muss ich das machen? Mehrere Seiten?


    Nein, mehrere Loops, d.h. 2x query_posts() und dann mit the_post() usw. die Seite ausgeben.

  • Code
    if(date(w) == 3)

    doch, doch das passt und funktioniert auch schon.
    (w) ist ein Format-Parameter der date-Funktion und gibt vom aktuellen Datum den Wochentag als Zahl vo 0 - 6 an. Die 3 steht also für den Mittwoch.

    Zitat

    Nein, mehrere Loops, d.h. 2x query_posts() und dann mit the_post() usw. die Seite ausgeben.

    auch so, alles klar (hatte gehofft, dass man das einfacher und kürzer machen kann.

    Danke!

    tschüß [size=24][color=olive]n[/color][/size]epf

  • Code
    if(date(w) == 3)


    doch, doch das passt und funktioniert auch schon.


    Es funktioniert nur, weil PHP so "intelligent" ist zu erkennen, dass es die Konstante "w" nicht gibt und wandelt "w" automatisch in einen String um. Ein Fehler bleibts trotzdem, und es sollte eigentlich auch eine Fehlermeldung dazu geben - wenn denn das Error-Reporting "scharf" genug eingestellt ist.

    Zitat

    (w) ist ein Format-Parameter der date-Funktion


    Nein, siehe Doku:
    PHP: date - Manual

    Korrekt ist der Parameter "w" mit Anführungszeichen, d.h. als String. Bitte schreib das auch so!


    Achso noch ein Nachtrag hierzu:

    Zitat

    vielleicht liegts auch daran, dass ich das zur Zeit erst lokal teste un da kann ich nicht mit Permalinks arbeiten und dann klappt das mit den slugs irgendwie nicht so gut.


    In dem Fall werden sicherlich keine Slugs angelegt, und dann funktioniert auch "pagename" nicht korrekt.

    Zitat

    auch so, alles klar (hatte gehofft, dass man das einfacher und kürzer machen kann.


    Bei Seiten nicht, leider.

  • Korrekt ist der Parameter "w" mit Anführungszeichen, d.h. als String. Bitte schreib das auch so!

    Ja sehr gern, marxX, und vielen Dank für all Deine Hinweise.
    Hab wieder ne Menge dazu gelernt!

    tschüß [size=24][color=olive]n[/color][/size]epf

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!