WordPress & Webwork

Smiley-Skript austauschen

Wie kann man in WordPress die gleiche Funktionalität beibehalten und dennoch 80kb sparen? Im konkreten Fall ganz einfach: dem Smiley-Skript von Alex King tschüss sagen und das Smiley-Skript von Skippy installieren.

Die Funktionalität ist die gleiche: man klickt auf einen Smiley und dieser erscheint im Kommentar-Formular. Mit einem kleinen Unterschied. Das Plugin von Alex King lädt die komplette prototype.js (hat 80kb) egal ob man sich im Kommentar-Bereich befindet oder nicht. Das alternative Skript tut dies nicht und schlägt mit ca. zusätzlichen 6-7kb nur wenn man den Kommentar-Bereich betritt.

Einen kleinen Haken gibt es dennoch, das Skript von Alex bindet sich automatisch ein, sowohl im Kommentar-Bereich als auch im Admin-Menü. Bei dem Plugin Smiley JS Buttons muss man manuell einbinden. Folgenden Code in die comments.php einbinden:

<?php if (function_exists('SJB_outputSmilies')) {SJB_outputSmilies();} ?>

Mit der Einbindung im Admin-Bereich hapert es, die auf der Seite des Autors beschriebenen Methoden fluppen bei mir nicht. Da die dort genannten Code-Stellen bei mir nicht existieren. Ich bleibe aber am Ball.

Vielen Dank an Bernhard für den Kommentar bzw. den Hinweis.

19 Reaktion(en)

  1. Boris

    Die prototype-KB zu sparen, wenn sie nicht benötigt werden, hätte natürlich schon einen Reiz. Beim Umstieg auf die 2.2er-Linie habe ich mir aber (vorläufig) vorgenommen, nicht mehr in Kerndateien v.a.D. des Adminbereichs einzugreifen.

    Wobei, neue Smilies habe ich ja auch schon wieder eingebaut, jaja. So viel zu den guten Vorsätzen.
    🙄
    Ich werde also das erwähnte Smilie-Skript mal zumindest im Auge behalten …

  2. Jared

    das ist ja schön und gut, nur als ich das script von skippy vor 2 wochen testete war mein kompletter blog invalide! das plugin fabrizierte unsauberen code – und sorry das kanns ja wohl auch nicht sein 😕

    wenn sich das in den letzten wochen geändert werde ich es sofort einbauen

  3. Michael

    Hätte da eine kleine Bitte *lieb schau*, kann man das Script so modifizieren, dass es nicht mehr alle Smilies ausliest, sondern nur noch 20, 25 oder nur die Standard-WP-Smilies?

    Danke 🙂

  4. Michael

    Habe es hinbekommen, aber vielleicht kann mir ein Experte noch sagen, ob die Lösung so konform ist. Ich habe bei den beiden Funktion für die Ausgabe der Smilies, also bei "SJB_outputSmilies" und "SJB_adminSmilies" eine neue Variable 2$counter = 0″ angelegt und in der foreach-Schleife ein "$counter++", sowie ein "if $counter==20 -> break" eingebaut (Klammern und Strichpunkte habe ich mal weggelassen).

    Funktionieren tut es auf jedenfall. 🙂

    BTW: Bei mir ist der Code nun auch nicht mehr valide, also gleich wie bei dir Perun.

  5. Perun

    Bei mir ist der Code nun auch nicht mehr valide, also gleich wie bei dir Perun

    Komisch, der Validator gibt bei mir keine Fehler aus. Oder meintest du etwas anders bzw. eine andere Seite?

  6. Michael

    Tidy (FF-Plugin) sagt mir bei dir 22 Warnungen, wegen der Smilies, ich habe es bei mir nun korrigiert indem ich in der smiley_js_buttons.php, an der Stelle wo per echo das Ende vom a-Tag ausgegeben (Zeile 83), vor dem Slash noch einen Backslash rein gesetzt habe.

  7. Perun

    Hallo Michael,

    es gibt da aber ein ganz großen Unterschied zwischen Warnung und Fehler (bzw. nicht-validen Code) … und der liegt nicht nur in der Anordnung der Buchstaben. 😉 Ich habe ein paar Minuten gebraucht um herauszufinden das du dich auf die Warnungen von Tidy und nicht auf die Fehler des Validators beziehst. Habe aber dann das fehlende Escape-Zeichen in der Zeile 82 schon eingefügt.

  8. Michael

    Ja stimmt, mein Fehler! sorry 😳

    Liegt aber daran, das ich auch die Warnungen nicht leiden kann und sie wie Fehler behandle – sprich ausmerze.

    Nun zeigt Tidy auch bei dir ein schönes grünes Icon! 😉

  9. Perun

    @Michael,

    Alles kein Problem.

    Zurück zu deiner eigentlichen Frage: Wäre es in deinem Fall nicht einfacher, die zusätzlichen Smileys in einem anderen Ordner auszulagern, da das Skript nur auf /wp-includes/images/smilies/ zugreift.

    Alternativ könnte man ein Unterordner einrichten /wp-includes/images/smilies/klicki-bunti/, dort eine handvoll Smileys reinkopieren und dort das Skript zugreifen lassen.

  10. Michael

    Zu freu gefreut, habe das gerade mal ausprobiert und 20 Smilies in einen gesonderten Ordner gepackt und $locations auf den neuen Pfad angepasst. Er zeigt mir dann zwar die 20 an, versucht aber auch noch alle anderen aus dem array meiner vars.php zu laden. Oder muss ich noch was anpassen?

  11. Pingback: Der wilde Garten

  12. cimddwc

    Falls es jemanden interessiert: Ich hab für mein Blog SJB so angepasst, dass nach 20 Smilies ein "mehr »"-Link kommt, der dann alle restlichen Smilies einblendet (alle im $wpsmiliestrans-Array in wp-includes/functions.php eingebaut), und auch simple Format-Buttons ergänzt.

    Ich hab’s noch nicht offiziell veröffentlicht (weil man dazu ja auch ’ne Anleitung erwarten würde…), aber wer will, dem kann ich’s zumailen (oder vorab zum Download bereitstellen).

  13. waldorf

    Ich habe bereits wp-grins nicht dazu bewegen können die Smileys beim kommentieren anzuzeigen. 🙁

    Ich gebs erst mal eine Weile auf. 🙄

  14. Pingback: Dürrbi & Michi

Die Kommentare in diesem Beitrag sind geschlossen.

✉ WordPress-Newsletter ✉

Tipps und News als E-Mail in deinem Postfach? Dann abonniere einfach den ersten deutsch­sprachigen Word­Press-Newsletter:


Der Newsletter ist hinterher jederzeit abbestellbar.

Eintragen!