Make WordPress Core

Opened 5 years ago

Closed 14 months ago

Last modified 13 months ago

#10955 closed enhancement (wontfix)

Replace ThickBox

Reported by: aaron_guitar Owned by:
Milestone: Priority: normal
Severity: normal Version: 2.9
Component: External Libraries Keywords: dev-feedback needs-patch
Focuses: Cc:


Have you thought about replacing ThickBox? It is no longer under development (as their site says) and it doesn't conform to standard jQuery plugin practices. For example, I'm trying to use it for a plugin of mine and I'm wanting to tie into the "onClose" event for ThickBox which isn't too easily done. I know I could just include one of the other plugins, like colorbox, with my plugin but I think it'd be a great service to other developers if you included a more flexible library.

(I would have assigned this to 3.0+ but the option isn't available.)

Attachments (1)

medialib2.jpg (117.2 KB) - added by azaozz 3 years ago.

Download all attachments as: .zip

Change History (50)

comment:1 @scribu5 years ago

  • Component changed from General to UI
  • Milestone changed from Unassigned to Future Release

comment:2 follow-up: @Viper007Bond5 years ago

  • Keywords needs-patch added
  • Milestone changed from Future Release to 3.0

ColorBox appears to be really pretty BTW.

comment:3 @aaron_guitar5 years ago

Really pretty and really customizable.

comment:4 in reply to: ↑ 2 @edified5 years ago

Replying to Viper007Bond:

And with a really helpful developer.

8304 bytes before it zip/deflate

comment:5 follow-up: @caesarsgrunt5 years ago

+1 for ColorBox. I'd never met it before, but it looks great.

comment:6 in reply to: ↑ 5 @scribu5 years ago

+1 from me as well.


Replying to caesarsgrunt:

+1 for ColorBox. I'd never met it before, but it looks great.

"Hello, ColorBox! How are you today?" :P

comment:7 follow-up: @jacobsantos5 years ago

I've tried all of the so called alternatives and they pretty much all suck. The limitations of jQuery UI Dialog is that you can pretty much only assign one dialog at a time (unless there is a workaround that isn't obvious).

Colorbox is fine if you don't need to fine tune any scripting for the modal box. Say if you want to use any other scripting then the predefined one then you are SOL.

I would rather recommend qTip jQuery plugin instead. It is a tooltip first, but it has modal capabilities as well.

comment:8 in reply to: ↑ 7 @aaron_guitar5 years ago

Replying to jacobsantos:

Colorbox is fine if you don't need to fine tune any scripting for the modal box. Say if you want to use any other scripting then the predefined one then you are SOL.

Could you give a specific example?

comment:9 @hakre5 years ago

Maybe code like this one [12554]

comment:10 @nacin5 years ago

  • Milestone changed from 3.0 to 3.1

comment:11 @freddyware5 years ago

  • Cc frederick.ding@… added
  • Version changed from 2.9 to 3.0.1

comment:12 @mrmist5 years ago

  • Version changed from 3.0.1 to 2.9

Version tracks the original report..

comment:13 @nacin4 years ago

  • Milestone changed from Awaiting Triage to Future Release

comment:14 @Denis-de-Bernardy4 years ago

  • Cc Denis-de-Bernardy added

comment:15 @aaroncampbell4 years ago

  • Keywords 2nd-opinion added

Just started playing with colorbox because of the limitations with thickbox. It's pretty nice. I'm open to other options, but it WOULD be nice to find a replacement.

comment:16 @andrewryno4 years ago

  • Cc andrewryno@… added

comment:17 @alex-ye4 years ago

1+ for colorbox .

comment:18 @gcorne3 years ago

  • Cc gcorne@… added

comment:19 @azaozz3 years ago

  • Keywords 3.4-early added; needs-patch 2nd-opinion removed

comment:20 follow-up: @nacin3 years ago

I want to suggest that I would rather to continue to monkey-patch Thickbox than replace it with another library. Replacing Thickbox means killing popups in core, not making popups prettier. Maybe once we've eliminated TB usage in core, we can shoehorn in a worthy WP-integrated replacement.

comment:21 in reply to: ↑ 20 @aaroncampbell3 years ago

Replying to nacin:

Do you really think that the correct direction is no lightboxes anywhere? That feels like more of a knee-jerk reaction to their overuse and misuse on the web as a whole (and possibly in WordPress as well). I think they have their place. For example, to me it seems like it's always going to be better to browser your media library for something to insert into a post inside a lightbox. It seems like there's just too much content there to shrink that into a small section of the screen.

I'm interested in hearing (or better yet, seeing) the alternatives though.

comment:22 @nacin3 years ago

The best argument for eliminating thickboxes for media handling is that by moving it inline, you can continue to work on your content while images are uploading/crunching. Not to mention drag-and-drop into the editor. See http://wpdevel.wordpress.com/2009/10/08/some-media-upload-sketches/. It's going to take some work but it can be possible.

@azaozz3 years ago

comment:24 follow-up: @azaozz3 years ago

Replying to nacin:

Agreed. Actually started on a new media library UI couple of months ago. Looks pretty similar to the plugin @scribu linked above. Had some hopes that it would make it in 3.3 but definitely going to try it for 3.4 :)

comment:25 @DrewAPicture3 years ago

  • Cc xoodrew@… added

comment:26 @Ipstenu3 years ago

  • Cc ipstenu@… added

comment:27 @chrisbliss183 years ago

  • Cc gaarai@… added

comment:28 @SergeyBiryukov3 years ago

Closed #19975 as a duplicate.

comment:29 @maorb3 years ago

  • Cc maor@… added

+1 for colorbox

comment:30 @toscho3 years ago

  • Cc info@… added

comment:31 @sabreuse3 years ago

  • Cc sabreuse@… added

comment:32 @wycks3 years ago

jQuery UI Dialog is already bundled with the jQuery UI in WordPress.


Already bundled

Actively developed

Lots of options

Integrates well with jQuery and other jQuery UI features.

ps. @jacobsantos it also can support multiple instances.

comment:33 in reply to: ↑ 24 @andyadams3 years ago

  • Cc aadams@… added

comment:34 @MatthewRuddy3 years ago

Is this still being looked at? Thickbox is really horrific on mobile devices such as the iPad. Unable to scroll within iframes on it; instead it scrolls the parent window. Doing so also completely destroys the background overlay as well.

The problem with media-upload.js overwriting the tb_position function is a serious pain as well. Makes admin thickbox functionality in the WP Admin for plugin almost impossible if they can't resize it to their needs (provided they need media-upload.js for whatever reasons). It is possible to overwrite the functionality with your own functions loaded after media-upload.js but, it seems ridiculous when the functionality is native but overwritten.

Version 2, edited 3 years ago by MatthewRuddy (previous) (next) (diff)

comment:35 @dgwyer3 years ago

+1 for jQuery UI dialog.

comment:36 @deltafactory2 years ago

  • Cc jeff@… added

comment:37 @sc0ttkclark2 years ago

  • Cc lol@… added
  • Keywords dev-feedback added; 3.4-early removed

This is a major pain point for development for me, can we at least add a new one and keep Thickbox for deprecated use?

comment:38 @sc0ttkclark2 years ago

  • Keywords needs-patch added

comment:39 @scribu2 years ago

Another contender: http://jschr.github.com/bootstrap-modal/

Not sure how dependent on Bootstrap it is, but it definitely seems to have all the functionality WP might need.

comment:40 @dd322 years ago

Another contender: ​http://jschr.github.com/bootstrap-modal/

Looks decent, but worth noting it's Apache v2 licensed, which isn't GPLv2 compatible.

comment:41 @ocean902 years ago

Why do we need another modal library? I think we should just make the new media modals more generic so that core and plugins can use them too.

comment:42 @sc0ttkclark2 years ago

I was trying out the new media modal too, was anxious to switch from Thickbox to it but its not in a state to be used cleanly when I last looked. Maybe a new ticket should be used and it's use as a Thickbox replacement be one of the proposed benefits?

comment:43 @sabreuse2 years ago

  • Component changed from UI to External Libraries

comment:44 @sc0ttkclark2 years ago

Update: Confirmed, the new WP 3.5 Media Modal makes an excellent Thickbox killer. It's use as a replacement for Thickbox would require additional helper functions for plugins/themes to hook into, but based on the working code I'm using, this is definitely something viable!

comment:45 @scribu2 years ago

Could you share the code you're currently using, Scott?

comment:46 @sc0ttkclark2 years ago

Will do over the weekend / next week. Still in progress, and heavily tied to the project it's for, http://pods.io/

comment:47 @TobiasBg14 months ago

  • Milestone Future Release deleted
  • Resolution set to wontfix
  • Status changed from new to closed

Core is moving to custom implementations with the Media Models/Views, theme browser, etc. and doesn't have a need for another external library at this time.
Thickbox itself is used less frequently and will probably be phased out in Core over time, whenever relevant areas are touched/refactored, in favor of such custom models/views. It needs to stay for backward compatibility though, as plugins might rely on it.
With #26870, efforts are being made to document the Media Models/Views code so that they can be used more easily by plugins.

comment:48 @sc0ttkclark14 months ago

Doesn't sound like we need an external library, the 3.5 Media Modals have been expanded in many ways already in core and core-related projects. It's not difficult to make a Thickbox replacement modal, I just haven't had time to focus on this specifically.

I'd like to see this kept as Future Release, because Thickbox has to be replaced soon, seems modals are the best path forward.

comment:49 @ircbot13 months ago

This ticket was mentioned in IRC in #wordpress-ui by helen. View the logs.

Note: See TracTickets for help on using tickets.