How to Take Full Advantage of WordPress Automation

How to Take Full Advantage of WordPress Automation

Automation can be a scary word for some, especially when a business relies on being able to make a personal connection with clients or customers. When it comes to working in WordPress, however, we understand that automation is a good thing (up to a certain point anyway). While we obviously don’t want a bot writing […]

Read Full Article Here

GDPR: How it Affects WordPress Site Owners and Developers

GDPR: How it Affects WordPress Site Owners and Developers

If you haven’t been living under a rock for the last few months, there’s a very good chance you’ve heard of GDPR, or the General Data Protection Regulation. This is new legislation relating to personal data and how it’s stored. It’s European legislation but it will affect website owners and developers outside Europe, as if […]

Read Full Article Here

10-Step Guide to Using Free PDF Downloads To Grow Your Mailing List

10-Step Guide to Using Free PDF Downloads To Grow Your Mailing List

At the end of the day, your mission is to generate conversions with your WordPress site. But some visitors are not as easily swayed as others when it comes to pulling the trigger on making a purchase. They know they need the service or product to significantly improve their lives… and, yet, they want to […]

Read Full Article Here

Adding Information, Tips and Sales Information for Clients to the WordPress Dashboard

Adding Information, Tips and Sales Information for Clients to the WordPress Dashboard

If you’re building websites for clients using WordPress, you’ll be keen to find a way to maintain your relationship with them and keep in touch. After all, a client who’s already hired you to build their website is someone who’s very likely to hire you again in the future or recommend you to their contacts. […]

Read Full Article Here

How to Add RTL Support to Your Custom WordPress Theme

Map of the world with pins

About 75% of the internet speaks a language other than English. Some of these other languages read Right-to-Left (RTL), which can completely ruin the layout of many English-only designs.

Thankfully, having a theme that flows well for RTL languages (such as Arabic) is largely a matter of updating your CSS. With a few design considerations and style tweaks, you can adapt any WordPress theme to work with RTL languages.

In this article, you’ll learn how RTL languages function in the browser, and how to work with them in your stylesheets. First, though, let’s delve into why you should add support in the first place!

Why It’s Worth Adding RTL Support to Your Theme

Translating a website to another language can be an onerous task, though relatively simplified with plugins. However, while many languages read left to right (like English, of course), there are plenty of languages that are read from right to left. Simply translating these sites won’t be enough – the design of the site needs to be updated to match as well.

One example of a popularly spoken right to left language is Arabic. It’s the sixth most spoken language in the world, with over 420 million speakers, and around 40% of them have access to the internet. This is a large niche market to consider. Keep in mind that this is only one of several popularly spoken right to left languages.

Opening up your theme to support all language styles, no matter which direction they read, makes your theme translation-ready for every situation. Fortunately, updating your theme to support right to left languages is relatively straightforward.

How to Add RTL Support to Your Custom WordPress Theme (In 3 Steps)

Since you’re essentially designing a theme, we’ll assume you’re developing locally on your computer. If you’re not, you definitely should be. Also, before making any changes, create a backup of your site to ensure you can recover everything if something goes wrong. When you’re ready, let’s dive in!

Step 1: Create the RTL CSS for Your Theme

RTLCSS converter
An RTL CSS converter is likely your most direct route to easily implemented RTL languages.

The first step is to create the CSS for displaying RTL languages correctly on your website. There are two methods for doing this. The first is to simply feed your existing stylesheet into a CSS RTL generator. This tool will examine your CSS and attempt to make a copy, but switching all the left and right alignments. This effectively creates a mirrored version of your website.

Here are two sites we recommend:

  1. RTLCSS: This framework has a very detailed set of instructions, and at current writing is also beta testing a live converter tool.
  2. CSSJanus: This tool is simplicity itself – type your Left-to-Right (LTR) CSS in the left-hand panel, click the Submit button, and see your RTL CSS on the right.

This is by far the simplest way to go. Once you’ve generated the new CSS, save the resulting styles as a file named style-rtl.css, ready for use later.

The second method is a little more tedious because it involves an ‘override’ stylesheet. In this version, you’ll go through each line of your CSS and manually move all horizontal positioning elements into a separate file named rtl.css, and mirror them. This results in a smaller file, but ultimately takes a lot more work to keep up with, especially as you continue to make new updates and changes to your theme.

To do this, first add the following code to the top of your rtl.css file:

body { 
   direction: rtl; 
   unicode-bidi: embed; 

Then, for the rest of your selectors, ensure you switch each left or right positioning to the opposite. Look for text-align, float, and clear in particular. However, the exact selectors you switch will be based on your own (and your client’s) needs.

If you have any background images indicating a specific direction, you’ll need to provide a flipped version and update the reference to it in the rtl.css stylesheet as well. Meanwhile, all of these attributes need to be ‘zeroed’ for the original image, before setting a new value:

  • margin
  • padding
  • borders
  • background-position
  • right and left positioning

Finally, any buttons pushed off screen using negative text-indents should be switched to positive instead. This ensures that your functionality stays in place regardless of the device.

Once you’ve made these changes, save the new file as rtl.css in the same directory as style.css. You can now move onto ensuring WordPress is able to load your file when necessary.

Step 2: Ensure WordPress ‘Sees’ the RTL Styles

If you’re using a CSS generator tool, you’ll now need to enqueue your new style-rtl.css stylesheet so WordPress can load it in at the appropriate time. This is just a matter of adding a snippet to your theme’s functions.php file:

function enqueue_theme_files() { 
    wp_enqueue_style( 'themeslug-style', get_stylesheet_uri() ); 
    wp_style_add_data( 'themeslug-style', 'rtl', 'replace' ); 
add_action( 'wp_enqueue_scripts', 'enqueue_theme_files' );

This tells WordPress to load the correct stylesheet when the website is set to an RTL language. Assuming you’re already using enqueue properly to load in your regular styles.css stylesheet, you can simply add the wp_style_add_data() information into your existing enqueued styles function.

However, when using a dedicated override stylesheet, you won’t need to load in any special functions. WordPress will simply load in the rtl.css file after your regular styles.css, which will overwrite directional cues using the secondary file.

Once your chosen method is ready to go, it’s time to test whether or not everything is working correctly in WordPress. Let’s take a look at how you can test your new RTL-supported theme design. Seeing it in action will enable you to ensure that everything looks as expected, and take any necessary manual fixes into account.

Step 3: Test Your RTL Styles in WordPress

RTL Tester plugin

You have a few options for testing out RTL languages in your WordPress installation. The first is to simply switch WordPress to an RTL language. To do this, go to the Settings > General page in your WordPress dashboard. Then, select the first script language you see in the Language drop-down box:

The language drop-down menu within WordPress.

After saving, you’ll see that everything is now right to left. However, unless you’re bilingual of course, you’ll struggle understand any of the text. To work around this, you can use developer tools to enable RTL styles while keeping English as the primary language.

There are two plugins that could fit the bill here. First, there is the general RTL Tester plugin. Once installed and activated, this essentially flips the switch on your entire website, telling it to load any and all RTL-specific styles. Second, there is WP-RTL, which lets you switch between different directional languages within a single post.

While the functionality of these plugins is good, bear in mind that they haven’t been updated recently. Given their simple and esoteric functionality, that’s understandable. Regardless, you’ll likely need to make sure any additions work with your current WordPress installation, although they’ll likely be surplus to requirements when pushing the site live.

Between these two plugins, you should be able to quickly test what various layouts look like with different RTL or LTR content. Finally, we recommend using WordPress’ Theme Unit Test Data to make sure you’re covering practically every permutation of text styles and formatting when adding RTL styles.


At least 200 million internet users speak a language that is written from right to left. Offering RTL styles in your themes opens up your design so it can be used by these markets. Without them, that’s a good chunk of people currently missing out on your products and services (or your clients’).

In this article, you’ve learned the importance of RTL styles and why you shouldn’t overlook them. Next, we’ve taught you how to add them to your theme in three steps:

  1. Create the RTL CSS for your theme.
  2. Ensure that WordPress will see the RTL styles.
  3. Test your RTL styles to make sure everything looks right.

What questions do you have about RTL styles in WordPress? Let us know in the comments section below!

Image credit: Christine Roy.

John Hughes

John is a blogging addict, WordPress fanatic, and a staff writer for WordCandy.

The post How to Add RTL Support to Your Custom WordPress Theme appeared first on Torque.

Read Full Article Here

7 Reasons Why Your WordPress Plugins or Themes Won’t Install

7 Reasons Why Your WordPress Plugins or Themes Won’t Install

For the most part, I think WordPress is a pretty solid platform. Of course, we complicate things when we drag third-party elements into it for the sake of improving performance or security, adding new design features, or opening up greater functionality. But the payoff is generally worth it. Without those integrations, you’d have to do […]

Read Full Article Here

The Ultimate WordPress Backend Tutorial: A Guide to Customization

The Ultimate WordPress Backend Tutorial: A Guide to Customization

There’s a lot that goes into developing WordPress websites from the ground up, which is why I hope you’ve found the WordPress startup guide helpful. Having one cohesive guide that walks you through the process step-by-step can be an invaluable tool when you’re first starting work as a WordPress developer. Once you’ve mastered the WordPress […]

Read Full Article Here

How Deliberate Practice Can Help You Become a WordPress Expert

How Deliberate Practice Can Help You Become a WordPress Expert

I’m a keen advocate of the idea that anyone can learn a new skill, if they’re sufficiently motivated. And if, like me, you work in the world of web development, you’ll need to learn new skills all of the time. Ours is an industry that never sits still. Whether it’s a new tool, a major […]

Read Full Article Here