Zwar verwende ich auf dieser Seite das Plugin nicht, aber bei zwei anderen, die ich betreue. Seit einigen Tagen aktualisiere ich diverse Seiten auf das neue WordPress 2.6.2 deutsch. Teilweise habe ich noch sehr alte Versionen im Einsatz gehabt, weil nichts Neueres benötigt wird, aber bevor mein Provider mir die Seiten dicht macht, weil ich irgendwelche Sicherheitslücken durch alte Versionen habe, wollte ich mal aktualisieren. Ein leidiges Thema, aber da muß man eben durch. WordPress selbst klappt meistens ganz gut, wobei auch hier so einige Fallstricke verborgen sind, die ich aber hier (noch?) nicht erläutern möchte. Eigentlich geht es hier nur um ein Plugin namens myGallery, welches sich doch sehr großer Beliebtheit erfreut (so auch bei mir; in Version 1.4b10). Mit diesem Teil kann man wunderbar Bilder in Ordnern verwalten und sehr individuell in einem Beitrag oder auf einer Seite einfügen. Leider wird das Plugin scheinbar nicht weiterentwickelt und somit gibt es auch keine Unterstützung für die aktuelle WordPress-Version. Das ist insowiet problematisch, als daß auch der Editor (TinyMCE) in WordPress auf eine neue Version gehoben wurde. Altes JavaScript funktioniert dann nicht mehr, weil sich die API geändert hat. Da ich von Natur aus eher faul bin, habe ich natürlich erstmal gegoogelt, um eine Lösung zu finden. Leider vergebens. Also dann doch selber Hand anlegen. Folgendes kam dabei heraus:
Die Installation erfolgt ganz einfach, wie bei jedem Plugin in WordPress. Jedoch muß man noch das gesamte Verzeichnis mygallerytinymce nach ./wp-includes/js/tinymce/plugins/ kopieren, denn darin ist das Plugin für TinyMCE enthalten, damit der Button für den Editor erscheint (dann erst macht es richtig Spaß;)). Jedoch ist auch exakt hier das Problem verborgen, denn das enthaltene editor_plugin.js ist für ältere TinyMCEs erstellt worden. Ich habe das mal für WordPress 2.6.2 angepasst und hoffe, daß ich damit einigen helfen kann. Hier ist es also:
(function() {
tinymce.PluginManager.requireLangPack('mygallerytinymce');
tinymce.create('tinymce.plugins.TinyMCE_ExternalPluginPlugin', {
init : function(ed, url) {
ed.addCommand('mygallerytinymce', function() {
openmybrowser();
});
ed.addButton('mygallerytinymce', {
title : 'myGallery',
cmd : 'mygallerytinymce',
image : url + '/images/mgbrowser.gif'
});
},
getInfo : function() {
return {
longname : 'myGallery Plugin',
author : 'Thomas Boley, Kalle for WP 2.6.2',
authorurl : 'http://www.wildbits.de',
infourl : 'http://www.wildbits.de/mygallery/',
version : "1.4"
};
}
});
tinymce.PluginManager.add('mygallerytinymce',
tinymce.plugins.TinyMCE_ExternalPluginPlugin);
})();
Der Rest bleibt einfach so, wie man es runterladen kann. In TinyMCE selbst jedoch mußte ich auch noch eingreifen, wobei ich nicht weiß, ob das meine eigene Dummheit ist, oder nicht. Jedenfalls habe ich in ./wp-includes/js/tinymce/tiny_mce_config.php Zeile 69 noch das myGallery-Plugin eingetragen, damit das dann so aussieht:
$plugins = array( 'safari', 'inlinepopups', 'autosave',
'spellchecker', 'paste', 'wordpress', 'media', 'fullscreen',
'wpeditimage', 'mygallerytinymce' );
Viel Spaß damit.