get_term_link () gibt korrekt zurück – Unlogische Fehlermeldungen stören jedoch

Ich habe ein wirklich seltsames Problem mit WordPress und der get_the_link () – function und einem folgenden Problem mit Objekten, die Objekte sind, aber als Nicht-Objekt-Fehler identifiziert werden, selbst arbeiten sie.

Zuerst das get_term_link () Problem:

Wenn ich mit einer normalen Zahl und Taxonomie frage, funktioniert es gut: $tax_name = 'products'; print get_term_link(13, $tax_name); $tax_name = 'products'; print get_term_link(13, $tax_name);

Es gibt die URL zurück, aber wenn ich es wie folgt $tax_id = (int)$navItem['id']; $tax_name = 'products'; print get_term_link($tax_id , $tax_name); : $tax_id = (int)$navItem['id']; $tax_name = 'products'; print get_term_link($tax_id , $tax_name); $tax_id = (int)$navItem['id']; $tax_name = 'products'; print get_term_link($tax_id , $tax_name);

Ich habe die Fehlermeldung erhalten:

Catalable fatal error: Das Objekt der class WP_Error konnte in Zeile 89 nicht in den String /home/username/www/domainname/wp-content/themes/theme/sidebar-left.php konvertiert werden

Welche letzte Zeile war 89. (var_dump von tax_id war int (13) )

Ohne das (int) vor dem navItem [‘id] hat sich var_dump in string (2) ergeben .

Versucht dies mit einer get_term_by () – function als Quelle. $term = get_term_by('id', $navItem['id'], $tax_name); $tax_id = $term->term_id; var_dump($tax_id); $tax_name = 'products'; print get_term_link($tax_id , $tax_name);

Habe eine neue Fehlermeldung als zusätzliche Nachricht erhalten:

Hinweis: Versuchen Sie in Zeile 88 die Eigenschaft non-object in /home/username/www/domainname/wp-content/themes/theme/sidebar-left.php abzurufen

Was ist falsch, weil Zeile 88 in diesem Beispiel “$ tax_id = $ term-> term_id;” ist! Ich kann (int) verwenden, aber das ändert die Fehlermeldung nicht.

Das Lustige daran ist, dass die Variable $ term ein Objekt ist. Und diese Fehlermeldung erklärt mir, dass ich versuche, eine Eigenschaft von einem Nicht-Objekt zu bekommen. Wenn ich dieses Objekt in ein Array umwandle (get_object_vars () – function) und auf die Werte im Array wie ein Array zugreife (name [key])

Ich bekomme folgende Fehlermeldung:

get_object_vars () erwartet, dass Parameter 1 ein Objekt, null eine gegebene Zeile 86 ist

Ich habe versucht, sie in Ganzzahl und dann in Zeichenfolge zu konvertieren. Versucht, Slug anstelle von ID zu verwenden. Aber nichts hat funktioniert. Die Ergebnisse funktionieren!

Ja! Alle Linien zeigten die korrekte Link-URL!

Aber ich bekomme diese Fehlermeldung … und ich verstehe nicht warum. Weil … für mich völlig unlogisch sind. Aber ich denke oder mehr, ich hoffe, dass ich der unlogische Teil dieses Problems bin und jemand mir helfen kann, dies zu lösen.

Und NEIN … Ich mag es nicht, die Fehlermeldungen zu ändern / zu verbergen.

Solutions Collecting From Web of "get_term_link () gibt korrekt zurück – Unlogische Fehlermeldungen stören jedoch"

get_term_link() gibt ein WP_Error Objekt bei einem Fehler zurück .

Sie können ein Objekt oder Array nicht print oder Sie erhalten ähnliche Nachrichten wie Sie erhalten. Verwenden var_dump() stattdessen var_dump() oder print_r() und Sie sollten sehen, was vorkommt. Ihr Fehler sagt Ihnen sogar, dass WP_Error das WP_Error Objekt ist.

Sie erhalten Fehler, wenn der von Ihnen gesuchte Begriff nicht gefunden wird.

Und ja, Sie sollten Ihre Fehlermeldungen in einer Produktionsumgebung verbergen. Sie können aufschlussreich sein. Schreiben Sie in ein Protokoll, wenn auf der Produktionsumgebung Fehler auftreten müssen.