Jan. 27

Ich schreibe spaßeshalber gerade ein kleines WordPress-Plugin. Anleitungen und Beispiele dafür gibt es reichlich im Netz, sodass dieses Unterfangen an sich nicht weiter schwierig ist, zumindest solange es sich um ein so triviales Ding wie in diesem Fall handelt.

Ein kleines Problem hat mich allerdings etwas genervt und auch wenn es mit etwas googlen recht schnell gelöst war, möchte ich es hier doch festhalten, vielleicht hilft es ja mal jemandem. Das Problem war, dass beim Aktivieren des Plugins immer diese Meldung angezeigt wurde:

Das Plugin hat unerwartet 3 Zeichen während der Aktivierung erzeugt. Falls du Meldungen “headers already sent” siehst oder dein Feed nicht funktioniert, solltest du das Plugin deaktivieren oder löschen.

Das schien zwar die Funktionalität des Plugins oder der WordPress-Installation nicht zu beeinträchtigen, aber so möchte man das natürlich nicht ausliefern. Blöderweise waren diese 3 ominösen Zeichen nirgends zu finden, weder in der WP-GUI noch in irgendwelchen Logs. Ein möglicher Grund hätte sein können, dass sich vor dem öffnenden <?php oder nach dem schließenden ?> einige Zeichen Whitespace befinden, aber das war bei mir nicht der Fall. Die Lösung lag schließlich in der Dateikodierung. Im von mir verwendeten Editor Notepad++ sind neue Dateien standardmäßig im ANSI-Format kodiert. Beim ersten Test merke ich aber, dass die Umlaute, die mein Widget produziert, nicht korrekt dargestellt werden, sodass ich auf UTF-8 umgestellt habe. Damit wurden die Umlaute dann richtig angezeigt. Allerdings enthält diese UTF-8-Datei dann ein BOM am Anfang, was offensichtlich von WordPress als unerwartete Zeichen interpretiert wurde. Nach Umstellen der Kodierung auf „UTF-8 ohne BOM“ passte dann alles.

written by Gunnar Schmid \\ tags: , , , , ,