• Как известно в qTranslate есть проблема — удаление префикса языка в УРЛе и переадресация на дефолитный язык после некоторых действий. Это проявляется после отправки комментариев, при использовании форм обр. связи, при постраничной навигации и тп.

    Решение почти найдено:
    Добавляем в header.php перед <!DOCTYPE html>:
    add_filter('home_url', 'qtrans_convertURL');

    И для исправление комментариев в functions.php:

    add_action( 'comment_form', 'myCommentsClosing' );
    
    function myCommentsClosing() {
       echo '<input type="hidden" name="redirect_to" value="'. get_permalink() . '" />';
    }

    (В принципе я оба кода добавил сразу в functions.php — всё работает).

    Это в общем-то хорошо, но только для комментов. Для плагов нужно их править, подставляя get_permalink() там где нужно. Например, в плаге обратной связи такая конструкция:
    $page_url = ( isset( $_SERVER["HTTPS"] ) && $_SERVER["HTTPS"] == "on" ? "https://" : "http://" ).$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    Где $page_url — должен принимать значение текущего урла с префиксом языка (т.е. get_permalink() насколько я понимаю). Однако он игнорирует префикс.

    Поэтому остаётся вопрос — можно ли и как ГЛОБАЛЬНО решить эту проблему, не правя сами плагины (их-то обновлять нужно)?

    Возможно этот топик может помочь, но я с буржуйским не дружу, мб поэтому не увидел там решения.

    Да, решение проблемы с постраничной навигацией вроде бы описано тут.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Спасибо за приглашение и функцию. На буржуссылки, есть такой вариант:

    <form action=»<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php<? _e(‘[:en]?lang=en[:fr]?lang=fr’); ?>» method=»post» id=»commentform»>

    В принципе вроде как и решение, хотя в случае «режима предварительного пути (по умолчанию, ставит /en/ перед URL)» не хочет работать…

    Кстате, а контакты через ajax как будут с плагином работать? Может через него попробовать подключить?

    Автор wpuser

    (@wp-userphp)

    На буржуссылки, есть такой вариант:

    Это ж конкретные правки плагов. Не комильфо.
    Хотца это обойти. Чтобы только в тему (дочку) прописать функцию (мб не одну, но надёжно) и она уже подменяла для всех плагов урл.

    Кстате, а контакты через ajax как будут с плагином работать? Может через него попробовать подключить?

    Я пробовал PTM AJAX Comments, но он не со всеми темами работает сходу — нужно прописывать название каллбек-функции. На нек. темах я её просто не нашел 😉
    Но этот топик давай оставим по qTranslate 😉

    Кстати, как решал вопрос с переадресацией при входе и регистрации? В комментариях, обратной связи сбрасывается всё, если не на языке по умолчанию, хотя в сессиия вроде как числится и сообщения от логина, но форма выдаётся, как не при авторизации…
    Тоже кажется это можно внести к решению глобальным способом…

    Автор wpuser

    (@wp-userphp)

    Кстати, как решал вопрос с переадресацией при входе и регистрации?

    Никак 🙂 Меня эти проблемы не волновали. Регу никогда не открываю, а логин.. достаточно один раз переключить язык после логина и qTranslate постоянно помнит. То ли по кукам то ли к юзеру чё прописывает — я не вникал.

    В комментариях, обратной связи сбрасывается всё, если не на языке по умолчанию, хотя в сессиия вроде как числится и сообщения от логина, но форма выдаётся, как не при авторизации…

    Не наблюдал такого. Мб ты не поставил чекбокс «Обнаружение языка браузера»? Или как раз наоборот — в браузере «не правильный» язык установлен 😉

    Не, все стоит у меня нормально. В браузерах тоже. Форма добавления комментариев или обратной связи не на оригинальном языке, выдается будто пользователь не авторизирован, т.е. просит ввести Имя и E-mail. Что интересно, если его не вводить, то система определит его как вошедшего и например в комментариях отобразит его логин…

    Автор wpuser

    (@wp-userphp)

    Форма добавления комментариев или обратной связи не на оригинальном языке, выдается будто пользователь не авторизирован, т.е. просит ввести Имя и E-mail.

    Это или баг темы или ещё что. У меня подобной проблемы не наблюдается.

    Это замечательно, буду искать! Но тема-то привязана с qTranslate, а точнее он к теме, соответственно они почему-то не хотят вместе дружить…

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «qTranslate и проблемы переадресации на язык по умолчанию» закрыта для новых ответов.