Support » Allgemeine Fragen » Trying to get property ‚ID‘ of non-object in /wp-includes/link-template.php

  • Hallo
    Ich finde im Debug-Log immer wieder die folgende Fehlermeldung
    Trying to get property 'ID' of non-object in /wp-includes/link-template.php
    Der Fehler wird durch die drei Zeilen 440, 451 und 404 erzeugt. Weiss jemand Rat?
    Gruss, Filz

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Der übliche Weg, solch einer Fehlermeldung auf den Grund zu gehen ist, das Fehlerreporting durch die Zeile define( 'WP_DEBUG', true ); in der wp-config.php einzuschalten, alle Plugins zu deaktivieren und zu einem Standard-Theme zu wechseln, dann schauen ob die Fehlermeldung weiter auftritt und nacheinander erst das verwendete Theme und dann die Plugins wieder einzeln zu aktivieren, dabei immer wieder prüfen. Das Plugin Health Check ist dabei recht hilfreich, weil es die Deaktivierung der Plugins simuliert und am Ende alles wieder zurückstellt.

    Thread-Starter filz51

    (@filz51)

    Hallo Bego

    Wegen diesem Eintrag in der wp-config.php bekomme ich ja überhaupt erst die Fehlermeldung. Aber da steht nicht mehr dazu.
    Auf den entsprechenden Zeilen werden folgende Abfragen gemacht:
    Zeile 440 $link = home_url( '?page_id=' . $post->ID );
    Zeile 451 return apply_filters( '_get_page_link', $link, $post->ID );
    Zeile 404 return apply_filters( 'page_link', $link, $post->ID, $sample );

    Ich werde heute Abend prüfen, ob der Fehler auch mit einem Standard-Theme auftaucht.

    • Diese Antwort wurde geändert vor 2 Jahren, 10 Monaten von filz51.

    Stell dir vor, du sitzt im Auto. Das Auto steht, sollte aber fahren. Die Fehlermeldung lautet „Reifen drehen sich nicht“. Das kann dann alle möglichen Ursachen haben von „Motor kaputt“ bis „Sprit alle“. Sicher ist es eine gute Idee, auszusteigen und zu schauen, ob die Reifen noch dran sind (kommt auch als Fehler in Frage) und ob sie noch genügend Luftdruck haben, aber wahrscheinlich bekommst du damit das Auto nicht wieder ans Laufen. Ein erster Schritt zur Behebung des Fehlers wäre, die Meldungen im Amaturenbrett anzuschauen. Blinkt da hektisch eine Öl-Kontrollleuchte, könnte das einen Hinweis auf die Ursache geben.

    Womit ich sagen möchte: „Trying to get property ‚ID‘ of non-object in /wp-includes/link-template.php“ besagt, dass an dieser Stelle in der Datei link-template.php versucht wird, eine Eigenschaft „ID“ von einem Objekt abzufragen, aber es gibt kein Objekt und also auch keine Eigenschaft. Die Frage ist jetzt nicht, wieso die Datei link-template.php eine Eigenschaft „ID“ abfragen möchte, sondern wieso es in dem Code, der hier ausgeführt wird, kein Objekt gibt. Du musst den Fehler also woanders suchen.

    Thread-Starter filz51

    (@filz51)

    Hallo Bego

    Hab Dank für deine Erklärungen. Toll formuliert. Ich fahre ein E-Bike, aber auch das kann bocken. 🙂
    Ich muss mich da weiter reinhängen. Gibt es vielleicht eine cleveren Weg, um die Datenbank als Fehlerquelle auszuschliessen? Oder gibt es noch weitere Log-Files, die ich anschauen müsste?

    Thread-Starter filz51

    (@filz51)

    Hallo Bego

    Ich habe herausgefunden, dass dieser Fehler von einem Plugin stammt (s2member) und habe es deaktiviert. Im Grunde versuche ich den Flaschenhals zu finden, der für eine lange TTFB verantwortlich ist.

    Mein Server läuft unter Centos 8, 2 Cores (1996 MHz) mit 8 GB RAM, die Webserver-Konfiguration ist Nginx – Apache – PHP-FPM, Software ist aktuell. Statische Seiten sind nach ca. 60 ms komplett ausgeliefert, bei der WordPress-Installation dauert die es bis zu 2 Sekunden, manchmal noch länger. Das ist gemäss Google Search Konsole seit etwa 2 Monaten der Fall, vor ca. 6 Wochen hatte ich die Warnung zum ersten Mal bemerkt.

    In den letzten Wochen habe ich unzählige Stunden damit verbracht, Debug-Logs und Wasserfälle zu studieren, mit Health Check die Plugins in verschiedenen Reihenfolgen zu aktivieren und zu deaktivieren um der Ursache auf die Spur zu kommen. Query Monitor zeigt auch nur selten langsame Queries an. Diese Tests liessen keine eindeutigen Schlüsse zu, wo ein Problem vorliegt. Jetzt weiss ich nicht mehr weiter und frage mich, ob bei Verwendung der für Funktionalität der Seite essentiellen Plugins Woocommerce, WPML, Yoast SEO sowie WP EventsManager und das Theme Enfold ohne Page-Caching TTFB von > 1 Sekunde in Kauf genommen werden müssen und warum das vorher noch nicht der Fall war. Wo könnte es denn sonst noch Flaschenhälse geben?

    Gruss, Filz

    • Diese Antwort wurde geändert vor 2 Jahren, 10 Monaten von filz51.
Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Das Thema „Trying to get property ‚ID‘ of non-object in /wp-includes/link-template.php“ ist für neue Antworten geschlossen.