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.
Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienstleistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.
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 …
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
ps: benutzt du denn das plugin?
deine seite ist nämlich valide
@Jared,
ja, das Plugin (Smiley JS Buttons) ist aktiv.
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 🙂
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.
Komisch, der Validator gibt bei mir keine Fehler aus. Oder meintest du etwas anders bzw. eine andere Seite?
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.
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.
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! 😉
@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.
Manchmal sieht man den Wald vor lauter Bäumen nicht… wie Recht du hast!
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?
Eine andere, fast zum Thema passende Frage, welches Plugin kommt bei dir für die html-Codes zum Einsatz?
[…] Smiley-Skript austauschen – Peruns Weblog (tags: WordPress) […]
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).
Ich habe bereits wp-grins nicht dazu bewegen können die Smileys beim kommentieren anzuzeigen. 🙁
Ich gebs erst mal eine Weile auf. 🙄
Ausge(wp-)grinst…
In der letzten Zeit fällt mir auf, dass das Laden der Webseite ständig zäher wird.
Das hat zum einen damit zu tun, dass ich in der jüngeren Vergangenheit das eine oder andere neue Plugin aktiviert habe, zum anderen dass offensichtlich mein Webspace…
Hmm, das scheint mir eine sinnvolle Alternative zu WP Grins zu sein. Sind die die Einbindungsproblemen inzwischen behoben?