Der genaue Fehler ist:
Aufruf zu undefinierter function
get_userdata()
in /wp-includes/query.php in Zeile 3567
- get_posts funktioniert nicht auf der Startseite?
- Ist es erforderlich, die Abfrage nach der Verwendung von get_posts () zurückzusetzen?
- Verwenden von query_posts in der single.php-Schleife
- Fragen Sie nach, ob der Anhang eines Audio-Anhangs und / oder das benutzerdefinierte Feld ist
- Wie bekomme ich Post-Inhalte, indem ich Ajax anrufe?
- Fügen Sie auf der statischen Seitenvorderseite klebrige Posts hinzu
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.
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' );