Benutzerdefinierte Beitragstyp-Schleife innerhalb des Kurzwahlcodes

Ich bin wirklich verwirrt, warum das nicht funktioniert:

Ich verwende einen Shortcode, um eine Abfrage für einen benutzerdefinierten Posttyp + Taxonomie anzuzeigen. Dies ist das Segment:

// - 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 laufen die Variablen weiter. Die Sache ist jedoch, wenn ich die Schleife durchführe, zeigt es mir den gesamten Post-Inhalt (dh Titel, Inhalt, etc.), aber weigert sich, den Inhalt des benutzerdefinierten Post-Typs anzuzeigen und hält in der letzten Zeile darüber (Zeile 145). $custom = get_post_custom($post->ID); gib mir den folgenden Fehler ..

Hinweis: Undefinierte Variable: Posten in C: \ xampplite … \ functions.php in Zeile 145

Hinweis: Versuchen Sie in Zeile 145, die Eigenschaft des Nicht-Objekts in C: \ xampplite … \ functions.php zu erhalten

Dann unten zeigt es mir normalerweise den Titel, den Inhalt usw. (nur kein benutzerdefinierter Beitragstyp Inhalt)

Jeder hat eine Ahnung, was ich falsch mache?

Vielen Dank!

Solutions Collecting From Web of "Benutzerdefinierte Beitragstyp-Schleife innerhalb des Kurzwahlcodes"

Hinweis: Versuch, die Eigenschaft von Nicht-Objekt zu erhalten

Würde indiciate, dass $post keinen Bereich innerhalb Ihrer function hat. Eine einfache Lösung wäre hier, $post zu globalisieren, um den Fehler zu beheben.

Wenn Sie jedoch eine Abfrage erstellen oder die Schleife the_post und die Methode ” the_post aufrufen, the_post Sie Zugriff auf die WordPress- Vorlagen-Tags .

get_the_ID() Sie get_the_ID() globale statementen, die Sie get_the_ID() aufrufen get_the_ID() die natürlich die ID des angegebenen Beitrags enthalten sollten (dh den aktuellen Post für diese Iteration der Schleife).

Aktualisieren Sie Ihre Problemzeile zu lesen ..

 $custom = get_post_custom( get_the_ID() ); 

Und das sollte das Problem klären, natürlich würde $post scope innerhalb der function geben würde auch funktionieren, es würde einfach nicht so poetisch aussehen! ..;)

Kleine Seitenfrage zurück zum Fragesteller, nach was suchst du, wenn du get_post_custom , nach bestimmten get_post_custom oder nach jedem gefundenen Meta-Item get_post_custom ? Dort kann es etwas Raum für Verbesserungen geben (wenn Sie interessiert sind).