Artikelliste - Fehler

  • Aus diesem Forum habe ich mir folgenden Code geholt

    um damit eine simple Auflistung aller Artikel anzeigen zu lassen. Abgespeichert im Theme-Ordner unter wp-listarticles.php

    Rufe ich diese Seite mit dem Link

    Code
    "http://localhost/word/wp-content/themes/ad-clerum-10/wp-listarticles.php"

    auf, erhalte ich folgende Fehlermeldung:
    Fatal error: Call to undefined function get_header() in ...\wp-listarticles.php on line 1

    Dasselbe passiert auch, wenn ich den kompletten Code der index.php in die wp-listarticles.php kopiere.

    Was mache ich falsch? (Wie schon gesagt, ich bin kein Programmierer.)

    mfg Klaus

    • 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

  • Du sollst dieses Template ja nicht direkt aufrufen ...

    Mein leiser Verdacht ging schon in diese Richtung, doch da mir nichts besseres einfiel ...

    Ich habe nun den kompletten Code der index.php (testweise) in die wp-listartikles.php kopiert. Der neuen Seite konnte ich auch dieses Template zuweisen und ein Link erschien in der Navi. Theoretisch sollte ja nun der Inhalt der kompletten Startseite erscheinen, oder? Die Header, Sidebars, Footer - alles da, nur der Inhalt - also die Seite - bleibt leer. Muß ich bei der Erstellung der Seite außer dem Titel noch etwas anderes eingeben?

    mfg Klaus

  • Theoretisch sollte ja nun der Inhalt der kompletten Startseite erscheinen, oder?


    Nein. Bedenke, dass du dich auf einer "Seite" befindest", wenn du die Seite mit diesem Template aufrufst. Was dein Template hier macht, ist folgendes:

    PHP
    if (have_posts())


    Wenn Posts vorhanden sind (ja - die aktuelle Seite)...

    PHP
    while (have_posts()) :


    Solange noch ein Beitrag im Loop ist (genau 1 - deine Seite)...

    PHP
    the_title()


    Gib deren Titel aus (genau 1 Titel - der der aktuellen Seite)

    Verstanden?
    Du willst den Loop beeinflussen. Schau dir mal query_posts() an:
    Template Tags/query posts « WordPress Codex

  • Alle Ahnungen haben getrogen. Den Beitrag habe ich mir zwar aufmerksam reingezogen und noch mehr learning by doing veranstaltet, doch ich komme nicht auf den Trichter - die Seite bleibt leer. Das war das letzte, was ich ausprobiert habe

    doch die Seite bleibt leer. Es liegt einfach daran, daß ich nicht wirklich verstehe, was da abläuft. Gewöhnlich komme ich über Probieren ans Ziel, doch das klappt eben nicht immer. Wär schön, wenn Du es mir erklärst.

    Einen schönen Abend
    Klaus

  • So sollte es eigentlich klappen. Lass zunächst mal das if is_page() weg. Du ordnest das Template ja sowieso nur dieser einen Seite zu. Dann fragst du erstmal eine spezielle Kategorie ab, statt eine auszuschließen, also so:

    PHP
    query_posts("cat=3");


    und schaust ob da was ausgegeben wird.

  • Jetzt wird tatsächlich eine Liste (nur die Titel) augegeben, und auch die begrenzung auf xx Überschriften wird eingehalten.
    Allerdings funktioniert das Blättern nicht und die Sidebars werden nicht angezeigt, obwohl ganz unten der Aufruf für die Sidebars und den Footer stehen. Woran liegt das nun wieder?

  • Für die Blätterfunktion musst du query_posts() noch etwas erweitern, nämlich um den "paged"-Parameter. Noch besser ist es, direkt den Querystring zu verwenden, könnte aber u.U. ein paar Nebenwirkungen haben. Einfach mal ausprobieren:

    PHP
    query_posts($query_string . "&cat=3&posts_per_page=5")

    Seit WP 2.6 kannst du auch mehrere Kategorien ausschließen, schau dir mal das Parameter-Array "category__not_it" an. (Ich hab das aber bisher auch noch nicht verwendet.)

    Wegen dem Fehler: Poste nochmal bitte den vollständigen Templatecode. Vielleicht ist irgendwo ein fehler drin, Klammer nicht/falsch geschlossen etc...

    PHP
    the_post("");


    the_post() hat keine Parameter! ;-)

  • Nachdem ich Deinen Vorschlag umgesetzt habe, ist die Seite bis auf die Überschrift wieder leer. Das funktionierende Template (bis auf Blättern und Sidebar) sieht nun so aus:

    Das mit dem mehrere Kategorien ausschließen wende ich schon auf der Startseite an, weil ich dort die Kurz- und Streiknews aus der Gesamtansicht ausschließe.

  • Mmh, sieht soweit okay aus... Blättern kannst du dir selbst noch einbauen, mit dem "paged"-Parameter:

    PHP
    if ( $paged )  {
      query_posts("cat=3&posts_per_page=25&paged=$paged");
    } else {
      query_posts("cat=3&posts_per_page=25");
    }

    Warum die Sidebar nicht mehr vorhanden ist kann ich dir so aber auch nicht sagen. Gibts ne Fehlermeldung? (-> error.log) Ist die Sidebar im HTML-Quellcode vorhanden oder hört die Seite mittendrin einfach auf?

  • Ich glaub dir schon, dass die Sidebars fehlen, die Screenshots nützen mir also leider nichts. ;-) Interessanter wäre ein Screenshot des HTML-Codes der Seite, speziell des letzten Teils. ich meine den generierten Quellcode, den du beim Aufruf der Seite im Browser erhältst. Nicht den Textteil der statischen Seite der du das template zugewiesen hast. (Die soll leer sein, das ist ja in Ordnung.)

    Und nach dem error.log solltest du mal suchen. Du entwickelst lokal? Mit XAMPP vielleicht? Dann findest du es hier:
    C:\xampp\apache\logs\error.log
    (bzw. wo auch immer bei dir XAMPP bzw. Apache installiert ist...)

  • Hier der Quellcode (in der Mitte gekürzt):

    Also ich sehe dort keinen Code für die Sidebars.

    Seit dem 21.08. entwickle ich die WP-Site nicht mehr offline. Nachdem ich Strato Adieu gesagt habe und zu sysprovide gegangen bin, läuft die Site unter randzone. Bisher bin ich auch ganz zufrieden. Kann ich dieses error.log auch in meiner WP-Installation online finden?

    Übrigens habe ich jetzt mal geschaut, wer Du eigentlich bist. Interessant, denn ich habe einige Zeit in Auerbach/V. gelebt, wohne jetzt in Königswalde und fahre jeden Tag nach Zwickau zur Arbeit. Klein ist die Welt.

    Gruß Klaus

  • Also ich sehe dort keinen Code für die Sidebars.


    Stimmt. Mich wundert aber, dass anscheinend bis unmittelbar vor get_sidebar() alles ausgeführt wird. Merkwürdig.


    Zitat

    Seit dem 21.08. entwickle ich die WP-Site nicht mehr offline. Nachdem ich Strato Adieu gesagt habe und zu sysprovide gegangen bin, läuft die Site unter randzone.


    Okay. Gibts die Seite mit dem "Artikelliste"-Template auch online? Hab jetzt grade nichts gefunden.


    Zitat

    Kann ich dieses error.log auch in meiner WP-Installation online finden?


    Das error.log wird vom Webserver generiert. Frage im ZWeifelsfall deinen Hoster, ob und wo du die Datei finden kannst.


    Zitat

    Übrigens habe ich jetzt mal geschaut, wer Du eigentlich bist. Interessant, denn ich habe einige Zeit in Auerbach/V. gelebt, wohne jetzt in Königswalde und fahre jeden Tag nach Zwickau zur Arbeit. Klein ist die Welt.


    *lach* Stimmt, die Welt ist klein. :-D

  • Danke. Mmh, da fehlt tatsächlich nur das hier:

    PHP
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>


    alles andere ist vorhanden. Auch u.a. get_header().
    Hast du vielleicht mittlerweile ne Fehlermeldung gefunden? Ohne kommen wir hier vermutlich nicht weiter...

  • Hast du vielleicht mittlerweile ne Fehlermeldung gefunden? Ohne kommen wir hier vermutlich nicht weiter...

    Im Confixx habe ich jetzt die Stelle gefunden, wo die Fehlermeldungen des Servers angezeigt werden. Er zeigt allerdings keinen einzigen an. :?

    Inzwischen habe ich ein Plug-In gefunden, daß einen Alpabetischen Index erzeugt. Soll wohl noch nicht ganz fehlerfrei laufen, doch mein Testlauf hat keine Fehler gezeigt. Vielleicht ist das ja ausreichend für mich. Falls nicht, melde ich mich wieder.

    Vielen Dank für Deine bisherige Mühe.
    mfg Klaus

Jetzt mitmachen!

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