10 Stimmen

Wordpress: Warum wird der Init-Hook mehrfach aufgerufen?

Ich bin bei diesem Problem wirklich ratlos. Ich habe gerade ein Plug-in erstellt, und um die Aktionen im Plug-in zu protokollieren (da ich die Ausgabe der Verarbeitung nicht sehen kann), habe ich einen Hook zu init wie folgt hinzugefügt:

add_action('init', 'test_hook');

function test_hook()
{

   global $wpdb;
   $message = "Some informational message here";
   $wpdb->insert("pq_logs", array("message"=>$message), array("%s"));

}

Was mich zur Weißglut bringt, ist, dass ich statt einer Zeile pro Seitenladevorgang 1 bis 8 Zeileneinträge der dasselbe Protokoll, mit unterschiedlichen Zeitstempeln . Die Anzahl der eingegebenen Einträge ist uneinheitlich und scheint völlig willkürlich zu sein (manchmal denke ich, es hängt von den aktuellen Wetterbedingungen oder dem Börsenindex ab).

Ich habe die Standardprüfungen durchgeführt und alle anderen Plug-ins ausgeschaltet, aber ohne Erfolg. Ich suchte nach dem Code für alles, was die do_action('init') aber ich wurde nur auf einen Anruf bei wp-settings.php .

Sind Sie auch schon darauf gestoßen? Was haben Sie getan?

28voto

Rob Williams Punkte 1443

Haben Sie irgendwelche Links auf der Website (Bilder, Skripte, Stylesheets usw.), die 404'ing sind? Wenn ja, zeigt die Standard-404-Seite im Standard-Site-Theme eine "Sie suchen etwas, das nicht hier ist"-Seite an, so dass der Init-Hook einmal für die erste Seitenanfrage und einmal für jeden fehlerhaften Link aufgerufen wird.

Prüfen Sie mit Firebug, ob etwas falsch aufgerufen wird.

0 Stimmen

G

0 Stimmen

Y

1 Stimmen

J

1voto

Joan Botella Punkte 195

Nach Rob Williams' Antwort habe ich diesen Beitrag gelesen:

http://www.tastyplacement.com/how-to-remove-link-relprev-and-link-relnext-from-wordpress-head

Ich habe festgestellt, dass die Link-Tags mit rel="next" und rel="prev" meinen Init-Hook ein zweites Mal auf meiner WordPress 3.5.1-Website ausgeführt haben. Diese Tags können entfernt werden, indem man dies in die Datei functions.php des Themes einträgt:

remove_filter('wp_head','adjacent_posts_rel_link_wp_head',10);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X