web-dev-qa-db-fra.com

Commutateur frontal RTL/LTR

J'ai un thème qui supporte RTL. Lorsque Apparence-> Paramètres du thème-> l'orientation du texte de droite à gauche (RTL) est activée. Mais je veux ajouter au menu principal 2 éléments pour changer d'orientation depuis le frontend:

  1. RTL - Basculer le thème en mode RTL
  2. LTR - Basculer le thème en mode LTR

Comment puis-je le faire?

1
Vlad

D'accord. Je l'ai résolu de cette façon. Disons que nous avons un fichier CSS rtl.css , qui contient des règles pour l'orientation du contenu de droite à gauche.

Ajouter des éléments de menu: Apparence-> Menus-> Sélectionnez un menu à modifier-> Modifier les menus-> Liens personnalisés .

  1. URL -? Language = rlt (ou quelque chose comme cela), Texte du lien - RTL (par exemple)
  2. URL -? Language = ltr , Texte du lien - LTR

Créer un plugin:

add_action('init', 'get_check');

function get_check(){
    if(!session_id()) {
        session_start();
    }

    if($_GET['language'] == 'rtl'){
        $_SESSION['rtl']=true;
    }

    if($_SESSION['rtl']){
        wp_enqueue_style( 'tmpl_rtl_css', get_template_directory_uri().'/rtl.css',array('tmpl_dir_css') );      
    }

    if($_GET['language'] == 'ltr'){
        session_destroy ();
        wp_dequeue_style('tmpl_rtl_css');
    }
}

Il faut vérifier, mais la solution est quelque chose comme ça.

2
Vlad