Включая файл wp-lang для определения WPLANG по выбору пользователя (Wordpress)? - PullRequest
1 голос
/ 02 сентября 2010

В этом предыдущем вопросе кто-то рассказал мне, как сделать WPLANG кликабельным, чтобы пользователь мог выбрать предпочитаемый язык (обычно вы можете определить WPLANG только путем изменения wp-config).Но я уверен, как сделать ссылку.Следующие функции дают мне возможность использовать example/?lang= или example/en?

* wp-lang.php

 session_start();
 if ( isset( $_GET['lang'] ) ) {
    $_SESSION['WPLANG'] = $_GET['lang'];
    define ('WPLANG', $_SESSION[WPLANG]);
 } else {
    if(isset($_SESSION['WPLANG'])) {
        define ('WPLANG', $_SESSION['WPLANG']);
        $_GET['lang'] = $_SESSION['WPLANG'];
    } else {
        if ( isset( $_SERVER["HTTP_ACCEPT_LANGUAGE"] ) ) {
            $languages = strtolower( $_SERVER["HTTP_ACCEPT_LANGUAGE"] );
             $languages = explode( ",", $languages );
            $_SESSION['WPLANG'] = $languages[0];
            $_SESSION['WPLANG'] = str_replace("-", "_", $_SESSION['WPLANG']);
            $_GET['lang'] = substr($_SESSION['WPLANG'],0,2);
            define ('WPLANG', $_SESSION[WPLANG]);
        } else {
            define ('WPLANG', '');
        }
    }
 }

* wp-config.php - Найти раздел, в котором определена постоянная WPLANG.Добавьте следующую строку непосредственно перед объявлением WPLANG.

 require_once(dirname(__FILE__).'/wp-lang.php');
 define ('WPLANG', ''); 

1 Ответ

0 голосов
/ 18 сентября 2013

Я модифицировал WP_LANG условно напрямую в wp-config.php , используя $_GET['lang'] и http://example.com/wp-admin/lang=es_ES.

В этом примере (используется в wp-config.php)добавлен файл cookie, поэтому после перехода по любой ссылке администратора ?lang=lang_COUNTRY последующие загрузки будут выполняться на новом языке.

$lang = '';
if( isset( $_GET['lang'] ) )
{
    $lang = $_GET['lang'];
    setcookie( 'my_lang', $lang, time() + 3600 * 24 * 365, '/', '.example.com' );
} 
elseif ( isset( $_COOKIE['my_lang'] ) )
{
    $lang = $_COOKIE['my_lang'];
}   
define( 'WPLANG', $lang );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...