Nur die 3 nuesten Subpages anzeigen

  • Nur die 3 neuesten Subpages anzeigen in der Sidebar/Header

    Hallo,

    ich versuch schon den ganzen Tag irgendwie rauszufinden, wie ich es bei folgendem code:

    PHP
    <ul id="recentposts">
        <?php wp_list_pages('sort_column=ID&sort_order=desc&title_li=&depth-1&child_of=35'); ?>
                </ul>

    nicht alle Unterseiten angezeigt bekomme, sondern nur die letzten 3 Unterseiten, die ich zuletzt zur Hauptseite "35" angelegt habe angezeigt werden!

    möchte damit das selbe erreichen, wie hier:

    PHP
    <ul id="recentposts">
                <?php get_archives('postbypost', 3); ?>
                </ul>

    nur eben nicht mit den letzten 3 Beiträgen, sondern den letzten 3 Unterseiten der Page ID 35

    gibt es eine solche möglichkeit?

    danke schonmal!

    Gruß

    (n8-leben.de- Oben im Header soll das dann eben so sein! )

    Einmal editiert, zuletzt von n8-leben (14. Mai 2007 um 19:51)

    • 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

  • eben das ist das problem ja!
    Das kann ich nicht jedes mal machen!

    Immer wenn ich eine Neue Unterseite der Oberseite 35 schreibe, soll diese an erster stelle stehen, dafür die aus dem menü rausfliegen, welche die 4.-älteste ist!

    Híer zeige ich ja auch nur die letzten 3 posts an:

    PHP
    <ul id="recentposts">
                <?php get_archives('postbypost', 3); ?>
                </ul>

    nur eben das archiv! und hier gehts jetzt um unterseiten

  • hmm normal kenn ich da keine Lösung, weil Statische Seiten eben Statisch sind

    aber...

    welche WP Version hast du und sind diese Seiten in einer Kategorie wo sonst nichts drin ist, dann geht das vielleicht..

    lg

  • ich habe die Version 2.1.3 und die seiten habe ich keiner kategorie zugeordnet! (Geht das überhaupt? Bin noch relativ neu bei WP)

    wäre cool, wenn sich da eine lösung finden lässt.

    Ich brauch das ganze halt für my-gallery.
    auf der Übersicht von Mygallery kann ich ja alles mögliche einstellen.
    Da habe ich für die Übersichtenseite eben die 10 letzten gallerien genommen.

    und ich benötige nochmals sowas wie ne Übersicht wo halt nur die letzten 3 gallerien gezeigt werden. und da dann immer nur der Gallerie Name! bzw. der Page-titel, welcher immer identisch ist bei mir!

    vielleicht gibts so ja dann noch ne andere lösung??

    Danke schonmal!

  • Statische Seiten haben schon ein Datum ... Wahrscheinlich ist für Dich die letzte Änderung interessant - Die findest Du unter post_modified ...

    Du müsstest eine neue Datenbank-Abfrage mit $wpdb->get_results konstruieren und die Ergebnisse nach post_modified sortieren lassen.

  • Danke erstmal für deine Antwort!

    Aber ich glaube hier hört dann mein verständniss im hirn für das ganze auf! :-/
    Habe da leider viel zu wenig ahnung!

    Gibt es denn für mygallery keine möglichkeit eine zweite gallerieübercht zu erstellen die anders aussieht als die erste??

    die erste: Letzte 10 Gallerien mit vorschaubild usw...

    die zweite: Letzte 3 Gallerien, wo jeweils nur der Gallerie-Name angezeigt wird
    und das ganze dann in der Sidebar

    hmm

  • Was willst Du denn genau finden?

    Wenn ich Dich richtig verstanden habe brauchst Du

    - Die "Unterseiten" einer bestimmten "Mutterseite"
    - Von denen nur die, auf denen auch wirklich eine Galerie zu sehen ist
    - Und zwar nicht alle, sondern nur die neuesten drei ...?

    Das ist eigentlich nichts, womit die myGallery was zu tun hat, bei den Galerie-Übersichten rappelt die nur die Seiten runter, die Du in irgendeiner Galerie (unter dem Menüpunkt Galerie-Verwaltung) als Übersichtsseite einer bestimmten Galerie eingetragen hast.

    Eine Funktion, die automatisch alle Seiten findet, auf der eine Galerie gezeigt wird - und zwar unabhängig davon, ob man so "fleißig war", jede Galerie-Seite nochmals in der Galerie-Verwaltung zu vermerken - gibt es leider nicht, die muss man selbst programmieren. Und die läuft darauf hinaus, die Inhalte von x verschiedenen Seiten komplett einzulesen und daraufhin zu untersuchen, ob [mygal=irgendwas] im Inhalt vorkommt ...

  • Zitat

    - Die "Unterseiten" einer bestimmten "Mutterseite"
    - Von denen nur die, auf denen auch wirklich eine Galerie zu sehen ist
    - Und zwar nicht alle, sondern nur die neuesten drei ...?

    genausowas will ich! :-)

    und dass das nix mit mygallerie zu tun hat, weiß ich auch!

    Soweit ist mir das schon klar!

    ich suche eben eine Lösung wo mir nur die letzten 3 GallerieNamen angezeigt werden. Und zwar in meiner navigation! siehe: n8-leben.de/wordpress (oben)

    So wie das jetzt ist passt alles von der darstellung her. Aber es werden eben ALLE Seiten angezeigt! Und dafür hab ich schlichtweg keinen Platz


    Da das ganze im Prinzip vom Ergebnis her nix anders wie eine Gallerie-übersicht, dachte ich eben, dass es vielleicht über mygallerie selbst eine Lösung gibt!

    Aber auch für deinen Vorschlag

    Zitat

    Und die läuft darauf hinaus, die Inhalte von x verschiedenen Seiten komplett einzulesen und daraufhin zu untersuchen, ob [mygal=irgendwas] im Inhalt vorkommt ...

    fehlt mir leider das wissen/können, wie das alles funktioniert.

    hmm...

  • Jo, das geht.

    So etwas Ähnliches hab ich auch schon programmiert, aber für Seiten, die mit dem PlugIn Page Category Organiser verwaltet werden. *denkdenk* ... Ähm ... Und das war eh ein ziemlicher Spezial-Fall, dieser ganze Auftritt ... Neee, da müsste ich noch n gut dran rumschrauben, damit das "allgemein" verwendbar ist.

    Normal läuft das mit den Galerie-Übersichten ja so:

    1) Galerie Hochladen.
    2) Eine Seite anlegen, dort [mygal=Galerie-von-Vorhin] eintragen
    3) Abspeichern
    4) Sich die Seiten ID merken
    5) Wieder in die Galerie-Verwaltung rein
    6) Dort bei der Galerie-von-Vorhin die ID der eben abgespeicherten Seite zuweisen, damit die Übersichts-Funktion "weiß", wo die Galerie-von-Vorhin angezeigt wird

    --> Und eben diese Einträge werden als Grundlage für die Galerie-Auflistung benutzt. Seiten, die man dort "vergessen" hat, tauchen in dieser Auflistung gar nicht auf ...
    --> Ist nicht sonderlich komfortabel - Und eine "automatisch mitwachsende" Galerien-Übersicht ist so natürlich nicht möglich. Allerdings ist das kein Fehler der mygallery, die ist halt so flexibel, dass sie einen nicht auf bestimmte "Strukturen" festnagelt ...

    Aber wenn man für sich selbst weiß, dass man keine Galerie auf mehreren Seiten anzeigt, dass man meinetwegen nur "Pages" für Galerien benutzt, dass alle "Galerie-Seiten" eine gemeinsame "Mutterseite" haben etc. - Dann kann man auf den ganzen Zuordnungs-Krams im mygallery-Menü verzichten und sich seine eigene Anzeige "stricken"

    ... kann Dir jetzt nicht sagen, wann ich dazu komme, momentan bin ich ganz gut beschäftigt - Aber so eine "automatische" Auflistung ist auf jeden Fall möglich, die Beschränkung auf die drei neuesten ist dann auch kein Problem mehr ... Was ein bisschen Performance kosten wird, wäre "das jeweils erste Galerie-Bild" anzuzeigen - Aber wenn Du den WordPress-Cache aktiviert hast, müssen diese ganzen "Berechnungen" nicht dauernd neu ausgeführt werden.

    Also ich guck mal, wann ich dazu komme - und meld mich dann noch mal.

  • Also wenn du eine Lösung findest wär ich dir echt super dankbar!

    Es mussrein der Name der Gallerie bzw. der seite angezeigt werden!
    dieser sollte dann zur galerie verlinken!

    es ist KEIN Vorschaubild nötig! Eher gesagt: das soll gar nicht rein!!!

    Aber schonmal vielen dankfür deine Mühe! Keine Eile!

    Danke!

  • Baustelle ...

    So, okay, hier ein paar Tipps zu der ganzen Geschichte.

    Die erste Funktion lass ich aber bewusst "offen", weil die ja dazu da ist, die "in Frage kommenden Seiten" überhaupt erst einmal vorzusortieren. Natürlich kann man auch gleich alle Pages abfragen, z.B. wenn man eine vollautomatische Auflistung wirklich aller Galerien haben will.

    Egal ... Also los.

    Nu muss man gucken, ob im post_content eine Galerie gezeigt wird. WIr wissen ja, worauf wir achten müssen: Irgendwo im Seiteninhalt taucht [mygal=plus-irgendein-ordner-name] auf. Zum Suchen hab ich preg_match benutzt ... und ... ich gehe davon aus, dass es maximal eine Galerie pro Page gibt ... Wenn's mehr gibt, wird nur die erste Galerie gefunden.

    Code
    function has_Gallery($PostContent) {
    	if (preg_match("/\[mygal=[^\]]*\]/",$PostContent,Treffer))
    		return Treffer[0];
    	else
    		return false;
    }

    Gibt es eine Galerie, wird gleich die mygal-Anweisung zurückgegeben. Gibt es keine, brauchen wir die Seite auch nicht zu $GalerieListe hinzuzufügen. Der Galerie-Name fehlt noch (hätte man eigentlich auch gleich in has_Gallery einbauen können, aber aus irgendeinem grund hatte ich's getrennt gebraucht ... weiß ich gar nicht mehr ...)

    Code
    function extract_GalleryName($GalleryTag) {
    	return preg_replace("/\[mygal=([^\]]*)\]/","$1",$GalleryTag);
    }

    ... wobei ich den "Ordner-Namen" eigentlich nicht so schick finde, wie selbst wählbare Seiten-Überschriften. Aber Geschmackssache. Auf jeden Fall kann man den Ordner-Namen für weitere Spielereien (Beispielsweise Vorschaubild o.ä.) gebrauchen.

    Zusammenfassung:

    1) Ganz normale Seiten-Abfrage nach Deinen eigenen Kriterien starten
    2) Mit den kleinen Suchfunktionen Galerien finden
    3) Bei Treffer, Link konstruieren
    4) Alle Links ausgeben ...

    Das war's an sich schon.

    :-)


    P.S.: Wie schon erwähnt, hab ich eine etwas umfangreichere Geschichte von mir als Grundlage genommen, und deshalb musste ich ein paar Variablen umbenennen. Falls ich dabei irgendeinen Mist gebaut hab, bitte ich um Entschuldigung.

  • Erstmal 1000 Dank!

    ich werd mir das nächste woche mal in ruhe anschauen, da ich gerade geschäftlich unterwegs bin und wenig zeit habe!

    Für den moment sieht es für mich ne nummer zu hoch für mich aus! Aber ich werde es testen!

    Aber danke nochmal!!!!!!

    Grüße

Jetzt mitmachen!

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