Right-to-left (RTL) language support

What Highend's bundled RTL stylesheet covers, and when it loads on a right-to-left site.

Highend ships a rtl.css stylesheet at the root of the theme with direction-flipped layout rules for a right-to-left site: floats, margins, and alignment mirrored for languages like Arabic or Hebrew.

What it covers

rtl.css mirrors the layout of the main navigation and its dropdowns and mega menus, the mobile menu, the search field, galleries and content boxes, comment and widget layouts, and core WordPress alignment classes like alignleft/alignright. It doesn't touch colors, typography, or spacing: only direction-dependent layout.

When it loads

rtl.css loads automatically when SettingsGeneralSite Language is set to a right-to-left language. There's nothing to enable: left-to-right sites never load it.

  • Highend active: WordPress loads a theme's rtl.css itself.
  • Child theme active: WordPress only looks for rtl.css in the child theme's folder, so Highend 4.5.1 and later load the parent's rtl.css for you. Any rtl.css you add to your child theme loads after it, so you can override its rules there.
Using a child theme on Highend 4.5.0 or older?

Those versions don't load the parent's rtl.css when a child theme is active. Update Highend, or enqueue it from your child theme's functions.php:

functions.php
add_action( 'wp_enqueue_scripts', function() {
	if ( is_rtl() ) {
		wp_enqueue_style( 'highend-rtl', get_template_directory_uri() . '/rtl.css', array( 'highend-style' ), null );
	}
}, 20 );
Test before you launch

rtl.css predates several newer elements and modules, so check your specific layout after enabling it: some newer components may need extra rules of your own.

On this page