Wordpress Media Manager 3.5 - Standardlink zu

7

Media Manager noch einmal. Dieses Mal suche ich nach einem einfachen Hack / Hook / Filter, um die Standardeinstellungen für die Anzeige von Anhängen im Medienmanager zu ändern. Die Option ist "Link zu", die standardmäßig auf "Mediendatei" eingestellt ist, und ich möchte erzwingen, dass alle Benutzer standardmäßig auf "keine" eingestellt sind.

Media Manager-Bildschirm

Wenn es keine Möglichkeit gibt, dies mit Hook / Filter zu tun (media-template.php Zeilen 282 - 306) - gibt es eine Möglichkeit, eine jQuery-Datei an Media Manager anzuhängen und damit die Änderungsoption nach dem Laden von Media Manager zu erzwingen?

Marcin Bobowski
quelle
Soweit ich verstehen kann, besteht die einzige Möglichkeit darin, jQuery ... media-template.php-Zeilen 282 - 306 zu verwenden. Leider ist "selected" dort fest codiert, ohne dass ein Hook / Filter / irgendetwas dafür vorhanden ist. Ideen zum Hinzufügen einer zusätzlichen jQuery-Datei zu Media Manager mit geänderter Standardoption wären daher auch eine gute (wenn nicht nur) Lösung.
Marcin Bobowski

Antworten:

4

Sie können tun, was Sie möchten, indem Sie die entsprechende Backbone-Ansicht überschreiben, die für das Rendern der Anzeigeeinstellungen für Anhänge verantwortlich ist.

plugin.php

add_action( 'load-post.php', 'wpse8170_media_popup_init' );
add_action( 'load-post-new.php', 'wpse8170_media_popup_init' );
function wpse8170_media_popup_init() {
    wp_enqueue_script( 'wpse8170-media-manager', plugins_url( '/js/media.js', __FILE__ ), array( 'media-editor' ) );
}

media.js

(function() {
    var _AttachmentDisplay = wp.media.view.Settings.AttachmentDisplay;
    wp.media.view.Settings.AttachmentDisplay = _AttachmentDisplay.extend({
        render: function() {
            _AttachmentDisplay.prototype.render.apply(this, arguments);
            this.$el.find('select.link-to').val('none');
            this.model.set('link', 'none');
            this.updateLinkTo();
        }
    });
})();
Eugene Manuilov
quelle
Dies ist eine beinahe funktionierende Lösung ... Aber wenn Sie ein Bild in einen Beitrag einfügen, wird es immer noch mit einem Anker um ihn herum eingefügt :(. Vielleicht würde eine Art "Kraftänderung" dieses Parameters (ich kenne das Backbone überhaupt nicht :() ausreichen der Trick?
Marcin Bobowski
@MarcinBobowski Ich habe mein JS-Snippet aktualisiert und es funktioniert jetzt einwandfrei. Hör zu!
Eugene Manuilov
Ja, das ist es :). Ich war so nah dran zu antworten - model.set war das einzige, was bei meinen Versuchen fehlte (updateLinkTo habe ich bereits ausgeflippt). Danke :)
Marcin Bobowski
1

Ich weiß, dass dies eine alte Frage ist, aber ich glaube, dass diese Antwort jetzt besser geeignet ist, da WordPress es Ihnen jetzt ermöglicht, sich darauf einzulassen.

Die Standardbildgröße, ausrichten und „Link zu“ Eigenschaften für ein Bild eingefügt werden , um die Optionen gesetzt image_default_size, image_default_link_typeund image_default_align, respectively. Sie können dieses Verhalten auf verschiedene Arten ändern:

  • Im /wp-admin/options.php
  • Direkt in der Optionstabelle in der Datenbank
  • Durch update_option( 'default_image_link_type', 'none' )
  • Durch Einhängen in den pre_option_[option]Filter

Sie können sich wie folgt in den pre_option_[option]Filter einhängen :

function wpse151868_image_default_link_type( $value ) {
    return 'none';
}

add_filter( 'pre_option_image_default_link_type', 'wpse151868_image_default_link_type' );
engelen
quelle
Leider image_default_link_typeändert die Einstellung "Keine" zumindest auf meinen Websites nicht die Standardeinstellungen für Benutzer, die bereits standardmäßig "Anhangsseite" verwendet haben, sodass die Option nicht wirklich global ist.
WebElaine