smilies in den kommentaren

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hi, das ist ein bekannter Wordpress-Bug -- manche Smileys werden nur erkannt, wenn davor ein Leerzeichen steht. Dein "Problem-Smiley" steht am Anfang der Zeile und wird deswegen nicht durch eine Graphik ersetzt.

    Eine Lösung steht hier: kopiere die Smiley-Definition von vars.php in wp-config.php und entferne jeweils das Leerzeichen bei den Smileys, die auch ohne Leerzeichen davor erkannt werden sollen.

    Du könntest auch einfach die vars.php ändern, aber die wird bei einem Upgrade überschrieben.

    Hoffe, das hilft.

    Gruß, Andrea

  • irgendwie funzt das bei mir immernoch nicht

    hallo ich bin neu hier ....

    und irgendwie habe ich immernoch das problem das
    meine smilies in den kommentaren nicht in grafiken umgewandelt
    werden.......

    ich habe die vars.php so:


    fehlt da irgendwas ?? habe ich was falsch gemacht ???
    ich hoffe mir kann da jemand helfen !!!

    Ausserdem hab ich in der vars.php auch neben
    dem tag $wp_smiliesreplace[] = meine url eingesetzt war
    das richtig ????


    ich hoffe mir kann da jemand helfen .......

    hier ein auszug das sie nicht angezeigt werden:

    http://www.seelenschrei.net/wp/?p=16

    [COLOR=Black]"[/COLOR][COLOR=Black]Ein wahrer Freund weiss alles von Dir
    und wird trozdem niemals enttäuscht sein "[/COLOR]

    Einmal editiert, zuletzt von jottlieb (15. Juni 2006 um 16:24)

  • mist scheint keiner eine antwort drauf zu haben.....

    [COLOR=Black]"[/COLOR][COLOR=Black]Ein wahrer Freund weiss alles von Dir
    und wird trozdem niemals enttäuscht sein "[/COLOR]

  • hat sich erledigt :) wird alles nun umgewandelt :)
    ganz simpel und dumme angelegenheit von mir gewesen !!
    hatte vergessen im adminbereicht wieder das häkchen für umwandeln in
    grafiken zu machen !!:wink:

    [COLOR=Black]"[/COLOR][COLOR=Black]Ein wahrer Freund weiss alles von Dir
    und wird trozdem niemals enttäuscht sein "[/COLOR]

  • Lexxy,

    so wie ich das verstanden habe, sollten Deine Custom-Smiley-Definition in der wp-config.php stehen, da die vars.php bei Updates überschrieben wird. (?)

    Jedenfalls habe ich es gerade eben so gemacht, dank dem Thread hier, und es funzt wunderbar. :)
    Grüße,
    pete

  • Das Problem, daß Smileys nicht ersetzt werden, tritt leider auch auf, wenn Smileys direkt vor Interpunktionszeichen wie '.', ',', etc. stehen.

    Folgender Patch in der Datei functions.php (im Verzeichnis wp-includes) schafft hier Abhilfe (ab Zeile 1916 in der Version 2.6.2):

    $siteurl = get_option( 'siteurl' );
    // Capture smilies before punctuation characters as well
    foreach ( (array) $wpsmiliestrans as $smiley => $img ) {
    // $wp_smiliessearch[] = '/(\s|^)' . preg_quote( $smiley, '/' ) . '(\s|$)/';
    $wp_smiliessearch[] = '/(\s|^)' . preg_quote( $smiley, '/' ) . '(\s|$)/';
    $smiley_masked = attribute_escape( trim( $smiley ) );
    $wp_smiliesreplace[] = " <img src='$siteurl/wp-includes/images/smilies/$img' alt='$smiley_masked' class='wp-smi\ley' />";

    durch

    // Capture smilies before punctuation characters as well
    $delim = preg_quote ('.:-),', '/');
    foreach ( (array) $wpsmiliestrans as $smiley => $img ) {
    // $wp_smiliessearch[] = '/(\s|^)' . preg_quote( $smiley, '/' ) . '(\s|$)/';
    $wp_smiliessearch[] = '/(\s|^)' . preg_quote( $smiley, '/' ) . '([' . $delim . ']|\s|$)/';
    $smiley_masked = attribute_escape( trim( $smiley ) );
    $wp_smiliesreplace[] = " <img src='$siteurl/wp-includes/images/smilies/$img' alt='$smiley_masked' class='wp-smi\ley' />" . '\2';

    ersetzen.

    Der Patch bewirkt, daß der preg_replace-Aufruf in der eigentlichen Ersetzung (formatting.php, Zeile 722) auch bei besagten Interpunktion-Zeichen greift. Wichtig hierbei ist die Backward-Reference '\2' im Replacement-String; wenn sie fehlt, wird das ursprüngliche Interpunktionszeichen aufrund des erfolgreichen Matchens unterschlagen.

    Auch in diesem Forum könnte der Patch Wunder bewirken :-).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!