Ich bin wirklich ratlos, warum das nicht funktioniert:
Ich verwende einen Shortcode, um eine Abfrage zu einem benutzerdefinierten Beitragstyp + Taxonomie anzuzeigen. Dies ist das Segment davon:
// - arguments -
$args = array(
'post_type' => 'customposttypename',
'taxonomyname' => 'alpha',
'post_status' => 'publish',
);
// - query -
$my_query = null;
$my_query = new WP_query($args);
while ($my_query->have_posts()) : $my_query->the_post();
// - variables -
$custom = get_post_custom($post->ID);
... und dann gehen die Variablen weiter. Die Sache ist jedoch, wenn ich die Schleife ausführe, zeigt sie mir den gesamten Standard-Post-Inhalt (z. B. Titel, Inhalt usw.), weigert sich jedoch, benutzerdefinierten Post-Typ-Inhalt anzuzeigen, und stoppt in der letzten Zeile oben (Zeile 145). dh $custom = get_post_custom($post->ID);
gibt mir den folgenden Fehler ..
Hinweis: Undefinierte Variable: Schreiben Sie in C:\xampplite ...\functions.php in Zeile 145
Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts in C:\xampplite ...\functions.php in Zeile 145 abzurufen
Dann hier unten zeigt es mir normalerweise den Titel, den Inhalt usw. (nur keinen benutzerdefinierten Beitragstyp-Inhalt)
Hat jemand eine Ahnung, was ich falsch mache?
Vielen Dank!
Hinweis: Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen
Würde anzeigen, dass $post
in Ihrer Funktion keinen Gültigkeitsbereich hat. Eine einfache Lösung wäre, $post
so zu globalisieren, dass er Gültigkeit hat und den Fehler effektiv behebt.
Wenn Sie jedoch eine Abfrage erstellen oder die Schleife ausführen und die Methode the_post
aufrufen, erhalten Sie Zugriff auf die WordPress-Vorlagen-Tags .
Stattdessen können Sie in globalen Anweisungen get_the_ID()
aufrufen, die natürlich die ID des angegebenen Posts enthalten sollten (dh den aktuellen Post für diese Iteration der Schleife).
Aktualisieren Sie Ihre Problemzeile zum Lesen.
$custom = get_post_custom( get_the_ID() );
Und das sollte das Problem klären, natürlich würde es auch funktionieren, $post
scope innerhalb der Funktion anzugeben, es würde einfach nicht so poetisch aussehen! ..;)
Kleine Nebenfrage an den Fragesteller: Wonach suchen Sie, wenn Sie get_post_custom
anrufen? Suchen Sie nach bestimmten Metaschlüsseln oder durchlaufen Sie alle gefundenen Metaelemente in einer Schleife? Möglicherweise gibt es dort noch Verbesserungspotenzial (falls Sie interessiert sind).