WP-Grins und Smileys

Gerade eben wurde ich von SteBu darauf hingewiesen, dass wenn man im Kommentarfeld :_?_: eintippt (ohne die Unterstriche) bzw. auf ❓ klickt eben nicht dieses Emoticon erscheint sondern :???:. Ein Blick in die wp-includes/vars.php offenbarte das Problem. Ab der Zeile 49 wird festgelegt bei welchen Zeichenkombinationen wird welches Smiley eingesetzt und hier wiedersprachen sich zwei Regeln:

  • ' :?' => 'icon_confused.gif', – Zeile 67
  • ':?:' => 'icon_question.gif', – Zeile 89

Diese zwei Regeln kommen sich ins Gehege, daher am besten die erste Regel auskommentieren (/* ... */), da man um 😕 zu bekommen drei weitere Kombinationen zur Verfügung hat.

Ausserdem wurde ich auch gerade von apollon gefragt wie man das Plugin WP-Grins (anklickbare Smileys) auch innerhalb der Admin-Oberfläche einbindet. Da hat sich in der neuen Version einiges geändert, daher muss man da anders vorgehen als in der Version 1.5.x.

Zuerst die wp-admin/admin-functions.php öffnen und nach dem Wort edToolbar suchen und in der Zeile 1086 (nach dem abschliessenden Hochkomma und vor dem Semikolon) folgendes hinzufügen: . wp_grins()

Nachtrag für WP 2.0.1: hierbei muss man in der Zeile 1081 nach dem abschließenden </div> bzw. nach dem abschließendem Hochkomma . wp_grins() einfügen.

Nachtrag für WP 2.0.2: die entsprechende Zeile ist jetzt 1091.

Es sollte folgendermaßen ausschauen:

edToolbar();</script>
</div>
' . wp_grins();

Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienst­leistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.

Verwandte Beiträge:

20 Kommentare

  1. Würde es vielleicht reichen, die Reihenfolge der beiden Smilies im Quellcode zu vertauschen?

    Ansonsten könnte man wohl auch mit regulären Ausdrücken beide Smilies getrennt behandeln (negative lookahead assertion heißt das Zauberwort). Ist den Aufwand (Rechenzeit eingeschlossen) aber wohl nicht wert.

    Gibt’s eigenltich auch ein Plugin, das Kekse verteilt? 🙂

  2. Warum wird das ganze nicht einfach per preg_replace gemacht?
    Anscheinend wirds ja mit str_replace umgesetzt?!

    Hab nicht nachgeschaut aber ich geh mal davon aus

    greetz

  3. @perun: Ich habe deinen Hinweis befolgt. Herzlichen Dank für die flotte Antwort. Jetzt ist alles so, wie es sein sollte.
    Grüße
    Horst (apollon)

  4. Was mir gerade noch einfällt, einfach die 2 umdrehen, also erst ❓ und dann :?.
    Weil dann passiert das nämlich nich

    greetz

  5. ich verzweifel noch ,ich krieg das wp_grins nicht in die admin oberfläche eingebunden.weis nichtw a sich falsch machen.
    bei komentaren hab ich es hinbekommen,aber da wills net funzen 😕

  6. Hey Perun
    Eigentlich genau was ich gesucht habe, doch leider kann ich die Smileys im Adminbereich nicht anklicken, damit sie ins Schreibfeld wandern. Hast du da ne Lösung? (copy’n paste kann’s ja nicht sein, oder?)
    Danke für nen Tipp:!:

  7. @Marco,
    seit dem Update auf 2.0.1 habe ich vergessen die Smileys in die Admin-Oberfläche einzubauen. Muss ich bei Zeiten nachholen und dann werde ich hier berichten.

  8. @Perun
    Alles klar. Freu mich bereits jetzt über deinen Lösungsvorschlag. Nicht, dass ich zu faul wäre, es selber zu probieren, doch meine Möchtegern-Kenntnisse reichen dazu wohl einfach aus. Schliesslich gilt es ja den tinymce zu überwinden, woran ich schonmal kläglich gescheitert bin 🙁 Also: Viel Erfolg.

  9. @Marco,

    ich habe es jetzt gemacht. Im Grundegenommen, wie in der Vorversion, nur muss man fünf Zeilen vorher den Smiley-Code einfügen (siehe oben).

  10. Bei mir funktioniert das nicht :-/ Ist das für den WYSIWYG?

    Gute Frage … ich habe es gerade getestet es funktioniert nur wenn man den WYSIWYG-Editor ausschaltet bzw. die Smilyes wird in beiden Varianten angezeigt, aber das Einfügen von Smileys funktioniert nur wenn man den WYSIWYG-Editor ausschaltet.

  11. @apollon,

    schicke mir bitte deine admin-functions.php zu. Evtl. reden wir an einander vorbe. Wenn ich dann Zeit werde ich drüber schauen.

  12. @Perun

    Also die Smileys hab ich schon auf die Seite gekriegt, doch um sie mit dem wysiwyg zu gebrauchen, muss ich copy und paste machen, wobei dann natürlich ein Link eingefügt wird, was nicht sinnvoll ist. Ohne wysiwyg auch bei mir keine Probs. Irgendwie muss doch tinymce zu überlisten sein…

  13. hallo boris, kannst du mir verraten wie du die smileys nach unten bekommen hast 🙁 ich such schon etwas länger nach dieser funktion aber von haus aus schickt mir wp-grins die smileys immer nach oben übers kommentarfeld!

    wär dir sehr dankbar wenn du mir das verraten könntest 🙄

  14. Ich hatte auch WP-Grins installiert. Nach einem Ladezeitcheck habe ich das Plugin aber wieder von Bord geschmissen. Denn durch das Laden der prototype.js (71.260 bytes) wurde die Webseite zu langsam. Das Skript wurde bei mir auch geladen, wenn die Kommentarfunktion für Seiten ausgeschaltet war. Mit einem JS-Optimierer habe ich die prototype.js zwar auf 51.031 bytes reduzieren können. Dies war mir dennoch zu groß.

    Ich hab jetzt alternativ das Plugin Smiley JS Buttons integriert und musste feststellen, dass es deutlich ressourcenschonender geht.

Kommentare sind geschlossen.