Beiträge von mco

    Hallo,

    seit einem Update auf Wordpress 2.5 habe ich das Problem, dass die Feeds nicht mehr generiert werden.

    Die Generierung bricht nach </channel> ab:

    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <rss version="2.0"
    ...
    
    
    <channel>
    ...
    [B]</channel>
    </rss>[/B]

    Der HTTP-Header meldet einen Fehler 404:

    Was ich bisher herausgefunden habe: Das Erzeugen des Feeds funktioniert bei der Standard-Permalink-Struktur, bei allen anderen Strukturen jedoch nicht.

    Gibt es dafür einen Lösung?

    Vielen Dank und viele Grüße,
    mco

    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.

    Code
    $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:

    Code
    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:

    Code
    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

    Hallo,

    regelmäßig nach einem Update von WordPress, aktuell auf die Version 2.0.4, finden sich in meinem error.log Einträge wie dieser:

    Code
    FastCGI: comm with server "/etc/servercon/fastcgi/php4" aborted: error parsing headers: duplicate header 'Status'


    Hatte ich das Problem nicht früher schon einmal gelöst? Nach langer Suche, glücklich, der englischen Sprache mächtig zu sein, einen Workaround im WordPress.org-Forum gefunden? - Dieses Krabbeltierchen schleppt sich seit geraumer Zeit von Version zu Version. Es erzeugt bei der Konfiguration von php als FastCGI einen internen Serverfehler, weil der HTTP-Header 'Status', in meinem Falle ein Fehler 404, zwei Mal gesendet wird.


    Daher hier noch mal der Workaround:

    In der Datei wp-includes/functions.php (in WordPress 2.0.4 ab Zeile 2200) ersetze die Zeilen:

    Code
    @header("HTTP/1.1 $header $text");
    @header("Status: $header $text");


    durch

    Code
    if (substr(php_sapi_name(), 0, 3) == 'cgi')
    @header("Status: $header $text");
    else
    @header("HTTP/1.1 $header $text");

    .

    Freut mich, wenn es jemandem weiter hilft.

    Viele Grüße,
    mco

    Hallo Monika,

    vielen Dank für Deinen Tipp. Diese Idee hatte ich auch schon: das ganze hardcoden über if-Abfragen. In der Tat nicht die wirklich feine Lösung...

    Schade, denn die Nutzung des Description-Feldes wäre so schon praktisch und einfach gewesen, auch im Hinblick auf die Wartung der Seite durch Menschen, die Wordpress lediglich als Autoren nutzen. Andererseits möchte ich auch nicht im Quellcode herumpfuschen, auch im Hinblick auch spätere updates, bei denen man/frau dann möglicherweise nicht mehr so genau weiß, wo was verändert wurde. - Vielleicht wäre das ein Verbesserungsvorschlag für die nächste Wordpress Version?


    Vielen Dank noch mal und viele Grüße,
    mco

    Hallo,


    zu jeder Kategorie möchte ich an erster Stelle eine fixe Beschreibung hinzufügen (wie z.B. hier beschrieben). Hierzu eignet sich ja das Feld Beschreibung bei der Kategorieverwaltung vorzüglich.

    In der Datei category.php habe ich vor dem Loop einfach

    PHP
    <?php category_description(); ?>


    eingefügt.

    Die Beschreibung soll aber Formatierungen und Bilder, also html-Code enthalten. Vor dem Update von Wordpress 2.0.2 auf 2.0.3 konnte ich mit der Wordpress-Oberfläche wenigstens Bilder in Form von <img>-Tags einfügen. Nach den Update werden die html-Tags einfach entfernt. Ich kann die Tags nur noch direkt in die Datenbank eintragen. Allerdings werden sie dann bei der nächsten Aktualisierung über die Wordpress-GUI wieder entfernt.

    Gibt es eine Lösung dafür, die Kategorie-Beschreibung genauso (oder ggf. mit Einschränkungen) bearbeiten zu können wie einen Beitrag? Möglichst ohne in den Quelltext von WP zu gehen? Wenn nein, wo könnte ich da im Quelltext suchen (leider spreche ich nicht so wirklich gut php)?

    Vielen Dank und viele Grüße
    mco