The is_rtl() WordPress PHP function determines whether the current locale is right-to-left (RTL).
Usage
if (is_rtl()) { // Execute RTL-specific code }
Parameters
- None
More information
See WordPress Developer Resources: is_rtl()
Examples
Enqueue RTL-specific styles and scripts
Load an RTL-specific CSS file and JavaScript file when the current locale is RTL.
if (is_rtl()) { wp_enqueue_style('style-rtl', get_template_directory_uri() . '/css/style-rtl.css'); wp_enqueue_script('script-rtl', get_template_directory_uri() . '/js/script-rtl.js'); }
Add a CSS class for RTL layouts
Add a CSS class to the body tag for RTL-specific styling.
function add_rtl_body_class($classes) { if (is_rtl()) { $classes[] = 'rtl-layout'; } return $classes; } add_filter('body_class', 'add_rtl_body_class');
Modify output for RTL text direction
Reverse the order of elements for RTL layouts.
if (is_rtl()) { $elements = array_reverse($elements); }
Adjust the HTML attribute for RTL languages
Set the ‘dir’ attribute in the HTML tag based on the text direction.
function set_direction_attribute() { echo is_rtl() ? 'dir="rtl"' : 'dir="ltr"'; } add_action('language_attributes', 'set_direction_attribute');
Switch menu positions for RTL layouts
Switch the primary and secondary menus for RTL layouts.
function switch_menus_rtl($args) { if (is_rtl()) { if ('primary' === $args['theme_location']) { $args['theme_location'] = 'secondary'; } elseif ('secondary' === $args['theme_location']) { $args['theme_location'] = 'primary'; } } return $args; } add_filter('wp_nav_menu_args', 'switch_menus_rtl');