Artikel nach Content einer statischen Seite

  • Hallo liebe Leser,

    Ich bin momentan dabei, eine Website mit Wordpress als CMS umzusetzen. Die Site hat mehrere statische Seiten (eigentlich nur statische) - wobei die News per Artikel eingepflegt werden sollten. Ich möchte gerne als Startseite eine statische Seite haben, auf der ein Begrüßungstext bzw. eine Einleitung steht, und darunter sollen die Artikel aus der Kategorie 'News' angezeigt werden. Dazu habe ich ein Template 'Neues' (neues.php im Theme Ordner) erstellt (Kopie der page.php des Themes) und habe die Änderungen laut Artikel der Kategorie X auf Seite Y anzeigen « WordPress Deutschland FAQ (wie so oft im Forum erwähnt) durchgeführt. Nur leider verschluckt das Template den Inhalt der statischen Seite und gibt nur meine Artikel (News) aus. Hier der Quelltext. Ich bin überfragt woran das liegt.

    Vielleicht kann mir jemand mit der Anpassung des Templates helfen. :?

    • 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

  • Ich denke du musst vor dem Loop noch die Stelle mittels the_content() angeben wo dein statischer Text erscheinen soll. Ich habe es so, das ich den Text direkt mit in das Template geschrieben hab. Ist ja statisch :-D.

    Gruß Whoppy

    Bezieht sich das 'the_content()' nicht nur auf den Artikelinhalt? Ich denke nämlich schon. Text direkt ins Template ist keine Option da das System später von noch laienhafteren Laien als mich gepflegt wird :-)

    Wie geht das so, dass dort der Inhalt erscheint, den ich im Backend auf die statische Seite geschrieben hab?

  • Ich habe es so realisiert:
    Datei news.php

    includiert in der index.php oder page.php unter dem loop des content der Seite (

    PHP
    <?php endif; ?>

    )

    PHP
    <?php 
             if(get_the_title()=='News') include('news.php');
             ?>


    zusehen hier: http://move21.de/tipps-von-move/

  • Ich habe es so realisiert:
    Datei news.php

    includiert in der index.php oder page.php unter dem loop des content der Seite (

    PHP
    <?php endif; ?>

    )

    PHP
    <?php 
             if(get_the_title()=='News') include('news.php');
             ?>


    zusehen hier: http://move21.de/tipps-von-move/

    Das hat leider nicht funktioniert, hab das genauso wie gepostet eingefügt und die news.php in neues.php geändert (weil die bei mir so heißt). Gehts denn nicht etwas einfacher? ;-)

  • Zitat

    [COLOR=#000000][COLOR=#0000cc]$wp_query[/COLOR][COLOR=#006600]->[/COLOR][COLOR=#0000cc]query[/COLOR][COLOR=#006600]([/COLOR][COLOR=#cc0000]'cat=22&showposts=6'[/COLOR][COLOR=#006600].[/COLOR][COLOR=#cc0000]'&paged='[/COLOR][COLOR=#006600].[/COLOR][COLOR=#0000cc]$paged[/COLOR][COLOR=#006600]);[/COLOR][/COLOR]

    Die cat= musst du natürlich auch anpassen. Und die statische Seite muss auch "Neues" heißen.

    Einmal editiert, zuletzt von bgeissler (20. August 2009 um 11:51)

  • Die cat= musst du natürlich auch anpassen. Und die statische Seite muss auch "Neues" heißen.

    cat=1 bei mir, jetzt werden die Artikel ohne Style einfach plain auf weiss angezeigt. Vom Content meiner statischen Seite keine Spur...

  • Gibt es einen Link zu der Seite?

    Leider nein, läuft lokal. Wenn du Quelltext aus bestimmten Dateien brauchst, sags mir. Auf den Wordpress Codex Seiten für Template Tags findet sich auch nichts für den Content statischer Seiten. (http://codex.wordpress.org/Template_Tags)

    Hardcoded ins Template erscheint mein Text, und zwar wenn ich diesen Zwischen

    HTML
    <div class="art-Post">
        <div class="art-Post-body">

    und

    HTML
    <div class="art-Post-inner art-article">

    einfüge. Aber dann ist der vor jedem Beitrag.

    Einmal editiert, zuletzt von drdoom456 (20. August 2009 um 14:37)

  • Dann auf zum neuen Versuch:
    Nimm deine Anfangs vorgstellte template-Datei neues.php,
    und füge den neuen Aufruf ein:

    Dann speichere einen neue Datei mit dem Namen news.php

    so sollte es laufen.

    Einmal editiert, zuletzt von bgeissler (23. August 2009 um 16:14)

  • Dann auf zum neuen Versuch:
    Nimm deine Anfangs vorgstellte template-Datei neues.php,
    und füge den neuen Aufruf ein:

    Dann speichere einen neue Datei mit dem Namen news.php

    so sollte es laufen.

    wenn ich das so mache, hab ich eine endlosschleife die durch PHP nach 30 sekunden gekillt wird. also es postet die vorhandenen artikel immerwieder.

  • Läuft denn dein Template "Neues" ohne den Eintrag

    PHP
    /* Hier der neue Aufruf: */ 
    <?php include('news.php'); ?>

    fehlerlos?
    [COLOR=#000000][COLOR=#ff9900] [/COLOR][/COLOR]

  • Läuft denn dein Template "Neues" ohne den Eintrag

    PHP
    /* Hier der neue Aufruf: */ 
    <?php include('news.php'); ?>

    fehlerlos?
    [COLOR=#000000][COLOR=#ff9900] [/COLOR][/COLOR]

    Ohne diesen Eintrag sehe ich alle 3 erstellten Posts. Mit dem Eintrag wiederholen diese sich immerwieder, bis das Script durch PHP beendet wird (siehe Link, den ich dir geschickt hab).

  • Ohne diesen Eintrag sehe ich alle 3 erstellten Posts. Mit dem Eintrag wiederholen diese sich immerwieder, bis das Script durch PHP beendet wird (siehe Link, den ich dir geschickt hab).

    Du willst doch eine statische Seite anzeigen, auf der unter dem statischen Text die News-Artikel angezeigt werden. Warum zeigt dein Template ohne include der Newsdatei die 3 Artikel und nicht den statischen Text. Da ist doch schon mal der Fehler in dem Neues-template?

  • Du willst doch eine statische Seite anzeigen, auf der unter dem statischen Text die News-Artikel angezeigt werden. Warum zeigt dein Template ohne include der Newsdatei die 3 Artikel und nicht den statischen Text. Da ist doch schon mal der Fehler in dem Neues-template?

    Ja genau das will ich, statischer Willkommenstext und drunter die News-Posts, aber so dass man den Willkommenstext im Seiteneditor im WordPress backend editieren kann, nicht hardcoded in die php-Datei.

    Wenn ich folgende Zeile (aus dem FAQ für dieses Problem entnommen) aus der neues.php entferne:

    PHP
    <?php query_posts('category_name=News'); ?>

    Sehe ich meinen statischen Seiteninhalt "Willkommen... bla", den ich über den Seiteneditor in Wordpress dort rein geschrieben hab.

    Wenn ich jetzt aber deinen Zusatz:

    PHP
    /* Hier der neue Aufruf: */  
    <?php include('news.php'); ?>

    in die neues.php einfüge, passiert das mit den unendlichen Wiederholungen der News-Posts.

    Sorry ich kenne mich mit diesem PHP Gedöns zu wenig aus, was eigentlich auch der Grund für den Aufbau in Wordpress war....

    Einmal editiert, zuletzt von drdoom456 (25. August 2009 um 14:07)

  • So, jetzt habe ich mir mal das template genauer angesehen.
    Probier mal das (die news.php wird benötigt):

  • So, jetzt habe ich mir mal das template genauer angesehen.
    Probier mal das (die news.php wird benötigt):

    jetzt hats geklappt. Was hast du gemacht? :-O

    Drei Sachen noch, falls du mir da helfen kannst.

    - Ich will dass die kompletten Posts gezeigt werden, also ohne "Weiterlesen" Link.
    - Der statische Inhalt oben hat einen anderen Abstand zum Rand als die Posts, kann man das irgendwie anpassen?
    - Die Überschrift "News" würd ich gerne weglassen, geht das?

  • jetzt hats geklappt. Was hast du gemacht? :-O

    Drei Sachen noch, falls du mir da helfen kannst.

    - Ich will dass die kompletten Posts gezeigt werden, also ohne "Weiterlesen" Link.
    - Der statische Inhalt oben hat einen anderen Abstand zum Rand als die Posts, kann man das irgendwie anpassen?
    - Die Überschrift "News" würd ich gerne weglassen, geht das?

    Ich habe den news-Aufruf unter den loop gesetzt, also wie urspünglich vorgeschlagen. Damit der Hintergrund richtig kommt, habe ich den loop innerhalb des Div beendet.

    Zu 1. In der news.php diese Zeile

    PHP
    <?php the_excerpt(); ?><a href="<?php the_permalink(); ?>">weiterlesen</a>

    ersetzen durch

    PHP
    <?php the_content(); ?>

    Zu 2. füge in der style.css die class .post neu ein

    PHP
    .post 
    {
          padding-left:10px;
    }

    Zu 3. auf jeder Seite ist oben der Titel genannt, wenn du ihn weg haben willst, entferne die Zeilen im template:

    PHP
    <h2 class="art-PostHeaderIcon-wrapper"> 
             <span class="art-PostHeader"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php printf(__('Permanent Link to %s', 'kubrick'), the_title_attribute('echo=0')); ?>"> 
             <?php the_title(); ?> 
             </a></span> 
             </h2>

    Edit: Zu 2. habe ich geändert!

    Einmal editiert, zuletzt von bgeissler (25. August 2009 um 18:17)

Jetzt mitmachen!

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