Posts und Pages ain ein Single-Page-Template vereinen

  • Hallo,

    ich möchte eine Single-Page Seite in Wordpress bauen.
    Dazu möchte ich alle Seiten (Pages) und die Blog Seite (posts) auf einer Seite in Sections untereinander darstellen.

    Ich habe mir also eine front-page-php erstellt, in der ich alle pages und posts lade und untereinander aufführe.

    Nun ist aber eine der PAGES als Blog ausgewählt. Die Posts werden nicht dargestellt, sondern diese Seite wird als ganz normale PAGE wiedergegeben. Also keine POSTS. Daher habe ich die POSTS extra geladen und in den Loop gepackt.

    Ich möchte aber, dass die dritte Section, also die dritte Page als Blog-Seite (für Aktuelles) fungiert, da sie ja so angelegt wurde.
    Wie kann ich das machen? In dieser Lösung habe ich folgendes:


    START - PAGE

    ÜBER UNS - PAGE

    AKTUELLES - PAGE (eigentlich Blog-PAGE mit POSTS)

    KONTAKT-PAGE

    POST 1

    POST 2

    POST N

    Ich will aber, dass die POSTS in der AKTUELLES - PAGE dargestellt werden...


    • 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

  • Hallo dst

    Erstelle für die Seite "Aktuelles" ein eigenes Template in welches du den Loop für den Blog einfügst. Näheres findest du dazu in den FAQ hier unter "Artikel der Kategorie X auf der Seite Y ausgeben".

    Oder du änderst deine frontpage.php dahingehend, dass du die einzelnen Seiten seperat lädst und für den Bereich "Aktuelles" gar keine Seite verwendest sondern ihn direkt (inkl. Loop) in die Datei schreibst.

    Viele Wege führen zum Ziel ;)
    pixselig

  • Hey pixselig,

    vielen Dank für die Antwort.

    Ich möchte, auf der Frontpage auch neu hinzugefügt Seiten einbinden, ohne dass man in den Code eingreifen muss. Daher bevorzuge ich deine erste Möglichkeit.

    Ich habe nun ein Template für die Seite Aktuelles erstellt und zugewiesen. Da ich ja alle Kategorien haben will, habe ich einfach den Loop aus der index.php genommen:

    Allerdings erscheint keinerlei Inhalt in der Section für Aktuelles :( was mache ich falsch?

  • Ok, DANN musst du ihm sagen, was er anzeigen soll ;-) Füg mal vor dem Loop bitte folgendes ein und schau mal, ob es so klappt

  • So? Passiert leider immer noch nichts

  • Nein, vor dem Loop. Ich schreib dir mal das komplette Template auf, so wie ich das Immer nutze. Ist vielleicht einfacher ;-)

    Das listet dir dann 10 angeteaste Blogposts mit "Weiterlesen" auf

  • Ich habe noch was getestet: Und zwar werden Blogposts angezeigt, wenn ich mir die Seite einzeln aufrufe.
    In der One-Page Ansicht jedoch nicht.

    Heißt: Der Code aus der index.php und dein Code funktionieren, wenn ich die Seite "Aktuelles" seperat aufrufen.
    Will ich das ganze aber innerhalb meiner Single-Page haben, welche ich erzeuge wie im ersten Post zu sehen, bekommt der Page-Abschnitt "Aktuelles" keinen Inhalt.

    Zusatzbemerkungen: Aktuelles (PAGE) ist nicht als Beitragsseite ausgewählt. Wenn ich das mache, bekomme ich ebenfalls keine Inhalte auf der Single-Page im Bereich "Aktuelles". Es ändert sich lediglich der Einzelaufruf der Seite.

  • Versteh ich nicht, was du haben möchtest. Eine Aktuelles-Seite ist doch normalerweise so

    Eine Seite /aktuelles auf der die News alle angeteast werden (also die, die wir gerade erstellt haben oder halt mit einer index.php)
    Eine Seite /aktuelles/titel-deiner-news , in der jede einzelne News komplett dargestellt wird (single.php)

  • Ich möchte ein Single-Page Template bauen. Alle Seiten und Beitrage befinden sich auf einer einzigen Seite.
    Das bedeutet, dass ich keine Multisite-Page habe.

  • Ach, jetzt hat es glaub ich klick gemacht. Also du hast nur eine einzige Startseite und keine Unterseiten.

    Und du willst deine Beiträge auf dieser Startseite posten?

    Also vielleicht so:

    PHP
    <?php $the_query = new WP_Query( 'showposts=5' ); ?>
     
    <?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
    <?php the_title(); ?>
     
    <?php the_content(); ?>
    <?php endwhile;?>

    unter deinem [COLOR=#000000][COLOR=#0000BB]den Loop, also unter deinem <?php [/COLOR][COLOR=#007700]endwhile; [/COLOR][COLOR=#0000BB]?>[/COLOR][/COLOR] hinzufügen

  • http://siegenerleuchtturm.de/wp/


    Die content.php ist aber unverändert

  • Meinst Du das in dieser Art und Weise?

  • Okay, und wenn ich das mache, werden die Posts, die in Aktuelles eigentlich angezeigt werden sollen, auch auf der Startseite (Single-Page) angezeigt?

    Mein Problem: Ich kann kein PHP ...

  • Das ist aus der Startseite für ein Roh-Theme (oder Blank-Theme?), welches ich mal begonnen hatte, zusammengeschnitten. Irgendwie bin ich da nur von abgekommen, das mal fertig anzubieten. Ausgegeben sollen in zwei Spalten die letzten statischen Seiten und die letzten Beiträge auf der Startseite werden. Die anderen Seiten erhalten selbstverständlich einen anderen Code.

    Also für Einsteiger und Bastler gedacht, die sich dann aussuchen können, ob sie beides nutzen oder eins von beiden auskommentieren möchten. Wenn Du aber kein PHP kannst, dann ist das weniger gut.

    Einmal editiert, zuletzt von Melewo (7. Juni 2014 um 16:15)

  • Ich würde dann an deiner Stelle gleich ein richtiges One-Page-Theme verwenden.
    Ich meine, für eine One-Page musst du ja nicht nur das mit den Multible-Loops lösen, sondern auch noch die Navigation anpassen, dazu eine Scrolling-Animation hinzufügen und bei Neuigkeiten die Pagination mit Ajax nachladen.

Jetzt mitmachen!

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