Hallo Markus,
vielen Dank für den Hinweis, der erstmal so funktioniert. Ich glaube Du bist auf der richtigen Spur, die ich mal weiterverfolgt habe. Leider spreche ich nicht wirklich gut php, aber ich habe trotzdem mal versucht, mit meinen bescheidenen Kenntnissen aus anderen Programmiersprachen nachzuvollziehen, was da passiert:
1.
$category_description = apply_filters('pre_category_description', $category_description);
wendet anscheinend irgend einen "Filter" auf die Eingabe an. Ich vermute, dass dieser die html-Tags herausfiltern soll.
2.
In der Datei wp-includes/default-filters.php, Zeile 58, wird dieser Filter definiert:
add_filter('pre_category_description', 'wp_filter_kses');
3.
wp_filter_kses wiederum schein eine Funktion zu sein, die in der Datei wp-includes/kses.php definiert wird und wiederum eine Funktion wp_kses() aufruft. Dabei wird als Parameter eine Variable $allowedtags übergeben, die wiederum in den Zeilen 22-40 von kses.php festgelegt wird. Die Vermutung liegt nahe, dass darin alle html-Tags drinstehen, die zugelassen sind. Also habe ich mal versucht, den <img>-Tag hinzuzufügen, leider mit mäßigem Erfolg: am Ende wird im Description-Feld nur <img /> übernommen. Habe dann natürlich auch mal versucht, all die Einträge der Variablen $allowedposttags für $allowedtags zu übernehmen. Wieder bleibt nur <img /> übrig.
4.
Und noch etwas interessantes in Zeile 19 von kses.php:
19 // You can override this in your my-hacks.php file
20 if (!CUSTOM_TAGS) { ...
Das lässt ja die Vermutung zu, dass man die zulässigen Tags mit einer Datei namens my-hacks.php überschreiben kann und damit nicht im Kern des Quellcodes herumpfuschen muss. Leider ist das alles ziemlich schlecht bis gar nicht dokumentiert. Hat jemand einen Hinweis oder einen Link zu einer Seite, wo das beschrieben ist?
Gruß,
mco