Support » Plugin: Enable Media Replace » Not compatible with WordPress 3.5's new media manager

  • This plugin has been in my default toolkit for a while… the ability to simply replace a file in the media manager with a new one was incredibly useful for quickly and easily updating documents or promo images.

    Unfortunately, WordPress 3.5’s amazing new media manager is simply not compatible with this plugin. The real bummer is that the new media manager STILL doesn’t have the ability to simply replace a file, meaning that a serious update to Enable Media Replace is now badly needed to restore this “basic” functionality.

    http://wordpress.org/extend/plugins/enable-media-replace/

Viewing 15 replies - 1 through 15 (of 27 total)
  • Agreed. Hopefully an update will be pushed soon enough as I use this loads.

    In case it’s useful for others (or the original developer!) I’ve managed to fix this on mine with a couple of code changes. (This is my first time posting code here so I hope it works…)

    In enable-media-replace.php, make the following replacements:

    Line 55:
    function enable_media_replace( $form_fields, $post ) {
    The attachment_fields_to_edit hook also passes through a $post variable containing the current post.

    Line 57:

    $current_screen = get_current_screen();
    if ( $current_screen->base == 'post' && $current_screen->post_type == 'attachment' ) {

    This checks that we’re on the attachment edit screen.

    Line 59:
    $url = admin_url( "upload.php?page=enable-media-replace/enable-media-replace.php&action=media_replace&attachment_id=" . $post->ID);
    Changes the way the method fetches the current attachment id.

    I made a pastebin of the entire method here: http://pastebin.com/HJVXz0qa

    It’s not pretty but it’ll do until there’s an official update!

    Thanks for the fix Elizabeth!
    I can verify that your solution worked for us as well.
    Hopefully Mans will see this and update the plugin. Personally I include this plugin in all my WordPress sites, and I would love to see this feature in core.

    Thanks, Elizabeth 🙂

    Thanks, Elizabeth! Your patch works flawlessly.

    @elizabeth Powell: many thanks!

    @elizabeth Powell, worked for me too. Thanks!

    Mahalo Elizabeth.
    Works like a charm!

    Code works! Amazing, thanks!
    And thanks to the developer for making this plug-in in the first place, I’ve found nothing else like it and have used religiously for quite some time… cheers!

    Lucas

    Thanks!

    Elizabeth,

    Thank you kindly for sharing your work. Hacking someone else’s code is never easy. You’ve saved a lot of us a lot of work (Including maybe the developer – HINT HINT)

    I noticed two things I would like to mention:

    When I was replacing the code for line 57 in Dreamweaver, the new code took two lines, which made line 59 become line 60. Just FYI for anyone who doesn’t figure that out.

    2nd: When I tested the fix (and this was my first use of the plug-in) the gallery view did not change the “thumbnail” or “preview” from the old image to the new image, but the changes were live on the site. When I left the media tab (I went to posts, but it doesn’t matter) and returned to the media tab, the “preview” had refreshed.

    I can see that being a little confusing for my clients. I wonder if this plug-in always functioned that way…..

    Thank you again!

    Jason

    Jason, your browser cached the image and because the uploaded file had the same file name, you did not see the new file right away. Don’t forget to empty your browser cache to see the changes.

    Gabe,

    Thank you. That makes sense. However, I don’t think the average user wants to empty their cache every time they change out a picture, especially when changing 10 or so. The process is a hassle even for professionals.

    I am personally opposed to clearing my cache regularly, because I typically have over 30 tabs open in two to three browsers, and I often use my page history to go back to some tabs when I have closed them.

    I noticed a page refresh did not update the picture, but leaving the page and returning did change the picture. I assume this is because the page dynamically pulled new content from the DB.

    I’m sure there is a way to automate having WP re-“get” the image thumbnails when the page transitions from the “edit image” page to the media main page, but it probably would involve editing the WP core files.

    Again, to me this is a minor issue. This is a really great plug-in now that it is working with WP 3.5.

    Jason,

    You don’t seem to understand how caching works.

    Here’s the gist version:
    When you visit a webpage, your browser caches everything locally. As you browse around the site, it uses it’s locally cached copies to speed up web page load times. There’s no need to re-download everything constantly, which not only hurts the visitor, but places extra load on the server.

    Now if you have an image with filename myimage.jpg and then you replace that with something else, chances are your web browser will keep serving up the one it’s cached until you FORCE it to reload it… either by clearing the cache, or doing a force-refresh if your browser supports it.

    Developers have some small control over caching by telling the browser how long it should hold on to downloaded files (via headers, etags, etc)… but at the end of the day, a website can’t FORCE a browser to do anything. You can only make recommendations… and some browsers are much more militant about holding onto their cache for the sake of speed (even ignoring “distant past” expires headers).

    This has nothing to do with the media manager, this plugin, or anything concerning WordPress… it’s a browser issue. If you replace a file that is already cached, you will need to force refresh the page you’re working on. Eventually it would simply happen on it’s own as the cached file “ages”.

    As far as Enable Media Replace is concerned, there’s only one way I know of that you might be able to force a file to update on revision with any amount of consistency… you must change the LINK to the affected media to include a randomized querystring parameter.

    For instance: myimage.jpg?1355666742

    And then, every time you update that file, you need to update that querystring value (the above example uses a unix timestamp which would theoretically change on each file replace).

    While it is technically possible to do something like this automatically with a plugin, it’s a sloppy solution to something that isn’t really a problem.

    Sue

    (@bunster101)

    Thank you, Elizabeth! Works like a charm! I love this plugin and grateful for your posting a fix.

Viewing 15 replies - 1 through 15 (of 27 total)
  • The topic ‘Not compatible with WordPress 3.5's new media manager’ is closed to new replies.