I have problems with drag and drop on WordPress.com.
I thought it was a problem with my Firefox install, since I had the same problem with my wordpress self-hosted blog.
It took me time to understand what needed to be fixed. On WordPress 2.3.1 a simple editing solved the problem. It persists on WordPress.com since the installation cannot be tweaked by users.
When I load widgets.php
(Admin -> Presentation -> Widgets) I can’t use drag and drop. Firefox error console points out some error messages:
Error: jQuery("ul#palette").Sortable is not a function
Source File: https://provenzano.wordpress.com/wp-admin/widgets.php
Line: 453
Error: jQuery("ul#palette").Sortable is not a function
Source File: https://provenzano.wordpress.com/wp-admin/widgets.php
Line: 453
Those are functions that belong to jquery extension interface.js.
If I check with Safari “active connections” I noticed that when widgets.php
tries to load interface.js
it gets a file not found
error.
If I directly try to load:
https://provenzano.wordpress.com/wp-includes/js/jquery/interface.js?ver=1.2
I get:
Not Found
The requested URL /wp-includes/js/jquery/int was not found on this server.
If I directly try to load the url:
https://provenzano.wordpress.com/wp-includes/js/jquery/interface.js?ver=
It works like a charm.
The problem relies that the proxy is in some way misconfigured and thus it translates
/wp-includes/js/jquery/interface.js?ver=1.2
into /wp-includes/js/jquery/int
To fix it on WP 2.3.1 I needed to edit scripts-loader.php
.
from:
$this->add( 'interface', '/wp-includes/js/jquery/interface.js',
array('jquery'), '1.2');
to
$this->add( 'interface', '/wp-includes/js/jquery/interface.js',
array('jquery'), '');
Now WP does not force the version of interface.js and the generated URL is not messed up by the server misconfiguration.
I documented it here since it can be of use for people that are behing misconfigured proxies they cannot bypass. This is my case right now, I’m working in Tunisia and there is no internet connection that does not pass trought the country’s proxy.
It solves the problem on Worpress.org blogs, but for wordpress.com there is no solution I can see other than asking to support personal to fix this for you.
I’ve written about this problem in my blog in portuguese , sent my solution to wordpress.org forum and wp-hacks mail list.