Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Media Manager once again. This time I'm looking for a simple hack/hook/filter to change default "Attachment Display Settings" from media manager. The option is "Link To" that is default set to "Media File" and I would like to force it for all users to be default set to "none".

Media Manager Screen

If there is no way to do it with hook/filter (media-template.php lines 282 - 306) - is there a way to attach jQuery file to Media Manager and use it to force change option after Media Manager is loaded?

share|improve this question
    
As far as I can understand, the only way to do it is to use jQuery... media-template.php lines 282 - 306 - sadly "selected" is hardcoded there with no hook/filter/anything to do it. So any ideas about adding aditional jQuery file to Media Manager with changing default option would be also a good (if not only) solution. –  Marcin Bobowski Feb 18 '13 at 12:25
add comment

2 Answers 2

up vote 3 down vote accepted

You can do what you want by overriding appropriate Backbone view, which is responsible for rendering attachments display settings form.

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();
        }
    });
})();
share|improve this answer
    
This is almost working solution... But when You insert image into post, it still gets inserted with anchor around it :(. Perhaps some kind of "force change" of this parameter (I dont know backbone at all :( ) would do the trick? –  Marcin Bobowski Feb 19 '13 at 10:32
    
@MarcinBobowski I have updated my JS snippet and it works fine now. Check it out! –  Eugene Manuilov Feb 19 '13 at 10:45
    
Yep, this is it :). I was so close to answer - model.set was the only thing that Was missing in my tries (updateLinkTo i have already fugured out). Thanks :) –  Marcin Bobowski Feb 19 '13 at 12:38
add comment

I know this is an old question, but I believe this answer is better suited now, as WordPress does now allow you to hook into this.

The default image size, align and "link to" properties for inserting an image are set through the options image_default_size, image_default_link_type and image_default_align, respectively. You can change this beahviour in a couple of ways:

  • In /wp-admin/options.php
  • Directly in the options table in the database
  • Through update_option( 'default_image_link_type', 'none' )
  • By hooking into the pre_option_[option] filter

You can hook into the pre_option_[option] filter like this:

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

add_filter( 'pre_option_image_default_link_type', 'wpse151868_image_default_link_type' );
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.