RTL admin CSS files not loaded even if xx_XX.php states $text_direction = 'rtl';
|Reported by:||codestyling||Owned by:|
If you have a language file needs to be loaded with RTL support like he_IL.php (languages folder), you will find inside
$text_direction = 'rtl';
So if you allow by plugin a dynamically switch of backend languages driven by user choise, this wont work anymore (prev 3.0 works!) because the follwoing file makes a wrong assumption: /wp-includes/script-loader.php
The questionable function is print_admin_styles() where the $dir var will be taken out of a style not proper configured:
$dir = $wp_styles->text_direction;
This can be repaired by using the correctly set global locale object:
global $wp_locale; $dir = $wp_locale->text_direction;
afterwards the admin menu is correctly displayed right hand side instead of left side.
Reproducing the bug is easy: use original US WP version 3.0, download he_IL.mo and he_IL.php and change only define ('WPLANG', 'he_IL');
I would expect now the admin menu on right hand side but it's still left side, what is wrong!