Erste Erfahrungen mit dem Media Uploader ab WP Version 3.5

18. Juni 2014 - wordpress

Vom API des neuen Media Uploaders gibt es keine offizielle WordPress Dokumentation, auch keinen halboffiziellen Artikel eines WP Insiders.

English Summary: WordPress new Media Uploader works in the dashboard from version 3.5 on but is somehow concealed because there is no official documentation. Or to be more precise: there is no documentation at all, just the core  code. Though many theme or shop developers consider it an essential and indispensable component in a CMS system.

Fortunately some developers dug through the core code and shared their experiences with the community.
Solutions to implement the media uploader rank from rather simple to very complicated.

Als einziges Hilfsmittel steht der community nur der core code zur Verfügung, wenn der media uploader eingesetzt werden soll.
In dieser Hinsicht hat sich jedenfalls nichts verbessert

Die Lösungen sind: eher einfach, mittelkomplex oder hochkomplex

Ich verwende die eher einfache Variante, gefunden bei http://stackoverflow.com/questions/13847714/wordpress-3-5-custom-media-upload-for-your-theme-options
und etwas für mich modifiziert

jQuery(document).ready(function () {
    
    jQuery('.custom_media_upload').click(function(e) {
        var $this = jQuery(this).parent();
        e.preventDefault();
        
        var send_attachment_bkp = wp.media.editor.send.attachment;

        wp.media.editor.send.attachment = function(props, attachment) {
            $this.find('img').attr('src', attachment.url);
            $this.find (':input').val(attachment.url);

            wp.media.editor.send.attachment = send_attachment_bkp;
        }
        wp.media.editor.open();

        return false;       
    });
    jQuery('.custom_media_remove').click(function(e) {
        var $this=jQuery(this).parent();
        e.preventDefault();
        $this.find('img').attr('src',my_param2.EmptyImageUrl);
        $this.find(':input').val('');
        return false;       
    });
});

.custom_media_upload ist die Klasse aller Links, die den Media uploader starten sollen.
Die Bild url wird als src Attribut in das zugehörige img Tag geschrieben (zur Anzeige des Bildes) und in ein zusätzliches input Feld, das zum Speichern in der Datenbank benutzt wird.
Ausserdem gibt es auch noch Funktionalität zum Entfernen bes Bildes, was aber nicht immer notwendig ist.

Die komplexere Methode steht im gleichen Artikel, geschrieben vom User Omar Jackman.

Richtig komplex wird es dann bei Mike Jolly http://mikejolley.com/2012/12/using-the-new-wordpress-3-5-media-uploader-in-plugins/
und  http://shibashake.com/wordpress-theme/how-to-add-the-wordpress-3-5-media-manager-interface-part-2

Zu diesen Lösungen kann ich nicht viel sagen und scheue mich auch davor, viel Arbeit hinein zu stecken.
Am Ende stolpert man über einen Tippfehler des Autors und sitzt viele Stunden an der Behebung.

 

Das Fehlen von Dokumentation und die Art der Implementierung sorgt für einige Empörung.

In http://wordpress.org/support/topic/the-wp-media-manager-is-absolutely-terrible

gibt es fast „turbulente“  Diskussionen 🙂