Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flexslider and Right-To-Left language support

I installed a template on WordPress that contains Flexslider. My language is written Right-To-Left (RTL). When the page is RTL, the Flexslider stops and no images appear. How can I resolve this issue?

like image 913
Mate.8 Avatar asked Sep 19 '12 14:09

Mate.8


4 Answers

flex slider doesn't support rtl languages. The only way to fix it is to make the div holding the slider direction: ltr

  1. On your theme, if the slider on the home page find a file called index.php find the div that's holding the slider and all this code style="direction:ltr;" this will display your articles on the slier perfectly

  2. To fix text direction from rtl find a file called flexslider.css on your theme and on the line holding the code .flexslider .slides > li{ (line #25 for me) add this:
    text-align:right;
    direction:rtl;

These tow steps fixed it for me. Good luck

like image 193
fatma Avatar answered Nov 12 '22 00:11

fatma


fatma's answer doesn't work for me. What works is modifying the .flex-viewport by setting direction: ltr:

.flex-viewport { max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s  ease; transition: all 1s ease; direction: ltr; }
like image 37
mark lape Avatar answered Nov 11 '22 22:11

mark lape


You need to change both JS and CSS for it to work. Luckily it didn't require much work. I forked the project and added the support at https://github.com/layalk/FlexSlider/tree/rtl. Give it a try.

like image 2
layalk Avatar answered Nov 12 '22 00:11

layalk


To fix directional navigation, these rules in your own stylesheet should override flexslider rules:

/* Flexslider RTL */
.flex-direction-nav .flex-next {background-position: 0 0; left: -36px; right: auto;}
.flex-direction-nav .flex-prev {background-position: 100% 0; right: -36px; left: auto;}
.flexslider:hover .flex-next {left: 5px; right: auto;}
.flexslider:hover .flex-prev {right: 5px; left: auto;}
@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev {opacity: 1; right: 0; left: auto;}
  .flex-direction-nav .flex-next {opacity: 1; left: 0; right: auto;}
}
like image 1
shadysamir Avatar answered Nov 11 '22 22:11

shadysamir