Aufruf von setup_postdata () verursacht “Aufruf zu undefinierter function get_userdata ()” Fehler?

Der genaue Fehler ist:

Aufruf zu undefinierter function get_userdata() in /wp-includes/query.php in Zeile 3567

Ich verwende get_posts() in meinem Plugin, das wiederum setup_postdata() wobei get_userdata() ausgeführt wird. Ich habe keine Ahnung, was los ist. Ich schaute auf query.php und es sieht aus wie get_userdata() ist eine globale function, sollte es kein Problem haben Zugriff darauf richtig?

MEHR DETAIL :

Mein Plugin ist in einer classnform. Dies ist nur die Grundstruktur. Es gibt tatsächlich mehrere functionen im eigentlichen Code. Beachten Sie die function get_posts() , in der die Post-Abfrage stattfindet. Wenn ich es entferne, wird der Fehler nicht angezeigt.

 class myPlugin() { var $post_type = ''; function __construct($post_vars = array()){ if ($post_vars) $this->post_type = $post_vars['post_type'] $this->get_posts(); } function get_posts() { $args = array('numberposts' => -1, 'post_type' = $this->post->type, 'post_status' => 'publish'); $myposts = get_posts( $args ); foreach( $myposts as $post ) : setup_postdata($post); print_r($post->ID); endforeach; } } return new myPlugin($_POST); 

Wenn ich die Abfrage in functions.php (und vielleicht außerhalb der class oder functionsumfang, die ich nicht versucht habe) platzieren, funktioniert es. Das ist mein Workaround für jetzt, aber ich möchte es in mein Plugin integrieren.

Solutions Collecting From Web of "Aufruf von setup_postdata () verursacht “Aufruf zu undefinierter function get_userdata ()” Fehler?"

Ihr Problem besteht darin, dass Sie einen return new CLASSNAME( $data ); hinzufügen return new CLASSNAME( $data ); am Ende einer Datei (?).

Sie müssen diesen Aufruf innerhalb einer function ausführen und den Fn-Callback zu einem Hook wie folgt hinzufügen:

 // THIS IS ONLY AN EXAMPLE! function wpse46288_call_the_funk() { return new CLASSNAME( $data ); } add_action( 'init', 'wpse46288_call_the_funk' );