Ältere Beiträge-Link defekt

  • Hallo zusammen,

    vielleicht könnt Ihr mir bei einem seltsamen Problem helfen.

    Ich verwende WP 2.2.2 in Verbindung mit dem Unnamed-Theme in der deutschen Version 1.1.4.

    Auf der Startseite ist unten der Link "Ältere Beiträge", der auf http://www.domain.tld/page/2 verweist. Klickt man darauf, wird aber die 404-Fehlerseite geladen, in der Form http://www.domain.tld/wp-content/the…4.php?error=404. Doch damit nicht genug, denn es erscheint nur ein Parse-Error:

    Zitat

    Fatal error: Call to undefined function get_header() in /www/htdocs/XXXXXXX/wp-content/themes/unnamed_1_14_deutsch/404.php on line 14



    In der 404.php steht an der Stelle

    PHP
    <?php get_header(); ?>



    Das ist ja nun echt blöd, dass das ausgerechnet auf der Startseite auftritt, und leider hab ich keine Ahnung, wo ich nach dem Fehler suchen soll.

    Wenn mir jemand einen Schubs in die richtige Richtung geben könnte, würde ich mich riesig freuen!

    Danke&Gruß
    Alex

    • 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

  • Grundsätzlich funktioniert die Fehlerseite, wenn ich z.B. einen falschen Pfad eintippe.

    Könnte da ein Pfadproblem vorliegen, oder dass z.B. ein Include fehlt?

  • Ich würde mich wirklich über etwas Hilfe freuen!

    Habe die Stelle in meinem Theme gefunden und dort testweise mal die Template-Tags aus der Dokumentation zusätzlich eingefügt:



    Beide Varianten generieren aber einen fehlerhaften Link: http://www.domain.tld/page/2

    Beim Klick darauf landet man auf der Fehlerseite, die ihrerseits leider auch fehlerhaft reagiert (normalerweise aber funktioniert, z.B. bei direktem Aufruf einer nicht existenten Seite):

    Code
    Fatal error: Call to undefined function get_header() in /www/htdocs/vXXXXXX/wp-content/themes/unnamed_1_14_deutsch/404.php on line 14



    Danke für jeden Hinweis!!

    Gruß Alex

  • In welcher Datei genau befindet sich diese Stelle?
    Was mich etwas stutzig macht ist dieser Teil hier:

    PHP
    [COLOR=#000000][COLOR=#0000CC]<?php 
    [/COLOR][COLOR=#FF9900]/*
     Template Name: Navigation
    */ 
    [/COLOR][COLOR=#0000CC]?>[/COLOR][/COLOR]

    Das sieht mir nicht nach index.php aus....

    Sicher ist, dass nichts sicher ist. Selbst das nicht. (J. Ringelnatz) http://www.sigaspot.com

  • Hi,

    vielen Dank für Deine Antwort!

    Der Schnipsel befindet sich in bzw. stellt eigentlich dar die navigation.php.

    Eingebunden wird sie in der theloop.php.

    Die index.php ist dagegen ziemlich kurz gehalten:

    PHP
    <?php get_header(); ?>
    <div id="primary-content">
      <?php include (TEMPLATEPATH . '/theloop.php'); ?>
    </div>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>



    Gruß Alex

  • Ich bin leider kein php-Guru, daher kann ich lediglich eine Vermutung äußern: Eine Datei, die so beginnt, ist normalerweise doch eine Seitenvorlage (page)?
    Das könnte vielleicht der Fehler sein, denn dort gehören diese Links, soweit ich weiß, nicht hin...

    Warum baust du sie nicht probeweise mal direkt in deine theloop.php ein (ohne diesen einleitenden Codeschnipsel) anstatt sie einzubinden (evtl. ist ja auch diese Verschachtelung das Problem, aber ich tippe eher auf das oben genannte)?

    Sicher ist, dass nichts sicher ist. Selbst das nicht. (J. Ringelnatz) http://www.sigaspot.com

  • Im Prinzip ist das ganze Theme so aufgebaut, dass nicht ständig benötigte Teile in *.php ausgelagert und nur bei Bedarf als Include geladen werden.

    In theloop.php möchte ich ungern rumpfuschen, nicht nur wegen des Hinweises

    Zitat

    // This is the loop, which fetches entries from your database.
    // It is a delicate piece of machinery. Be gentle!



    Da kann man eine Menge zerschießen, und sooo PHP-kundig bin ich nun auch wieder nicht. :wink:

    Der Schnipsel wird dort an zwei Stellen eingebunden:

    PHP
    <?php /* Permalink nav has to be inside loop */ if (is_single()) include (TEMPLATEPATH . '/navigation.php'); ?>


    PHP
    <?php /* Insert Paged Navigation */ if (!is_single()) { include (TEMPLATEPATH.'/navigation.php'); } ?>



    Gruß Alex

  • Wenn du vorher ein Backup machst, sehe ich kein größeres Problem, eventuell könntest du das auch mit einer xampp-Installation auf der Festplatte testen, dann kann weder deiner Datenbank noch deinem Online-Blog (falls es den schon gibt, denn du hast hier keinen Link gepostet) was passieren.

    Wenn du aber gar nicht probieren möchtest, würde ich dir vorschlagen, das Ganze eventuell mit neuem Titel und vollständigen Infos (inklusive vollständigem Code von theloop.php und den der Navi) nochmal neu zu posten, dann überlasse ich das Feld den php-Profis und dir kann besser geholfen werden! :wink:

    Sicher ist, dass nichts sicher ist. Selbst das nicht. (J. Ringelnatz) http://www.sigaspot.com

  • dass diese Links nicht funktionierenliegt mit hoher Wahrscheinlichkeit am Loop

    werden irgendwo Kategorien ausgeschlossen?

    nutzt Du ein Plugin, das Kats von der Anzeige ausschließt

    wenn dann ist der Fehler in der Loop.php zu finden,

    also zu 98,....%

    lg

  • Ausgeschlossen wird bei mir nichts, weder im Theme noch via Plugin. Auf der Startseite werden alle Beiträge angezeigt, bzw. die letzten fünf.

    Ich habe jetzt versucht, den Inhalt der navigation.php direkt in theloop.php einzusetzen. Ergebnis sind die gleichen Fehlermeldungen zu get_header().

    Komischerweise funktionieren die Links in der Single-Ansicht, in der Kategorie-Ansicht und in der Monats- bzw. Jahresübersicht einwandfrei(!) - bloß auf der Startseite nicht.

    Bin echt etwas ratlos!

  • Der Übersicht halber hier nochmal der Inhalt von theloop.php:



    Ich seh den Fehler nicht, bin aber auch nicht sooo der PHP-Profi ...

  • Der Fehler muss eigentlich in der navigation.php liegen:



    Das next_posts_link() wird nicht korrekt ausgegeben:

    Statt "http: // www. domain .de/page/2/" wird "http: // www. domain .de/page/2" (Leerzeichen bitte wegdenken!) generiert. Allerdings funktioniert der eigentlich korrekte Link mit Slash genauso wenig.

    Habe auch andere Template-Tags getestet, mit dem gleichen Ergebnis. Es ist so, als wäre die "Seite" einfach nicht vorhanden - ist das möglich?

    Würde mich über Eure Hilfe riesig freuen! Danke!

    Einmal editiert, zuletzt von gumble77 (17. März 2009 um 16:01)

  • Könnte das Problem vielleicht mit einer Rewrite-Regel zusammenhängen?

    Nach einigen Cross-Site-Scripting-Fehlern hat der Support meines Hosters folgendes in die .htaccess eingetragen:

    Apache Configuration
    RewriteCond %{HTTP_HOST}   !(.*)www.meinedomain.de(.*)   [NC]
    RewriteRule ^(.*)$ http://www.meinedomain.de/$1 [R,L]



    Könnte das irgendwie querschießen?

Jetzt mitmachen!

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