Last active
October 5, 2018 18:11
-
-
Save brasofilo/4570587 to your computer and use it in GitHub Desktop.
Replace the New WP 3.5 Uploader with the Old Thickbox
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Plugin Name: Old Upload Method | |
* Plugin URI: http://wordpress.org/support/topic/is-there-a-way-to-disable-the-new-media-manager | |
* Description: Replace the new media upload with the old thickbox | |
* Author: A.Morita, brasofilo | |
* Version: 1.2 | |
* License: GPLv2 or later | |
* | |
* This program is free software; you can redistribute it and/or modify it under the terms of the GNU | |
* General Public License version 2, as published by the Free Software Foundation. You may NOT assume | |
* that you can use any other version of the GPL. | |
* | |
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without | |
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
*/ | |
if( function_exists( 'add_filter' ) ) | |
add_action( 'plugins_loaded', array( 'I_Want_The_Old_Uploader', 'get_object' ) ); | |
/** | |
* Add Tags and Categories taxonmies to Attachment with WP 3.5 | |
*/ | |
class I_Want_The_Old_Uploader | |
{ | |
static private $classobj; | |
/** | |
* Constructor, init the functions inside WP | |
* | |
* @since 1.0.0 | |
* @return void | |
*/ | |
public function __construct() | |
{ | |
// Run only in editing pages | |
global $pagenow; | |
if( !in_array( $pagenow, array('post.php','post-new.php') ) ) | |
return; | |
// Old Upload buttons and thickbox | |
add_action( 'admin_head', array( $this, 'remove_media_buttons' ) ); | |
// Featured Image | |
add_action( 'wp_default_scripts', array( $this, 'unset_media_views' ), 999, 1 ); | |
add_action( 'admin_head', array( $this, 'remove_wp_print_media_templates' ) ); | |
// Full screen behavior | |
add_action( 'after_wp_tiny_mce', array( $this, 'fullscreen_media_button' ) ); | |
} | |
/** | |
* Handler for the action 'init'. Instantiates this class. | |
* | |
* @since 1.0.0 | |
* @access public | |
* @return $classobj | |
*/ | |
public function get_object() | |
{ | |
if( NULL === self::$classobj ) | |
self::$classobj = new self; | |
return self::$classobj; | |
} | |
/** | |
* Old Upload Buttons & Thickbox | |
*/ | |
public function remove_media_buttons() | |
{ | |
remove_action( 'media_buttons', 'media_buttons' ); | |
add_action( 'media_buttons', array( $this, 'old_media_buttons' ) ); | |
} | |
public function old_media_buttons( $editor_id = 'content' ) | |
{ | |
$context = apply_filters( 'media_buttons_context', __( 'Upload/Insert %s' ) ); | |
$img = '<img src="' | |
. esc_url( admin_url( 'images/media-button.png?ver=20111005' ) ) | |
. '" width="15" height="15" />'; | |
echo '<a href="' | |
. esc_url( get_upload_iframe_src() ) | |
. '" class="thickbox add_media" id="' | |
. esc_attr( $editor_id ) | |
. '-add_media" title="' | |
. esc_attr__( 'Add Media' ) | |
. '" onclick="return false;">' | |
. sprintf( $context, $img ) | |
. '</a>'; | |
} | |
/** | |
* Featured image | |
*/ | |
public function unset_media_views( $scripts ) | |
{ | |
unset( $scripts->registered['media-views'] ); | |
} | |
public function remove_wp_print_media_templates() | |
{ | |
remove_action( 'admin_footer', 'wp_print_media_templates' ); | |
remove_action( 'wp_footer', 'wp_print_media_templates' ); | |
} | |
/** | |
* Adjust Full Screen behavior | |
* Check if fullscreen exists avoids errors in pages without Editor support | |
* ie: pages where the regular content textarea is not enabled | |
*/ | |
public function fullscreen_media_button() | |
{ | |
?> | |
<script type="text/javascript"> | |
if( undefined != fullscreen ) | |
{ | |
fullscreen.medialib = function() | |
{ | |
var href = jQuery('div#wp-content-media-buttons a.thickbox').attr('href') || ''; | |
tb_show('', href); | |
} | |
} | |
</script> | |
<?php | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment