2010-09-02 23 views
1

在這個previous questions中,有人告訴我如何製作WPLANG clickleable,以便用戶可以選擇他的首選語言(通常只能通過修改wp-config來定義WPLANG)。但我確定如何建立鏈接。以下功能是否可以使用example/?lang=example/en包含一個wp-lang文件來根據用戶的選擇定義WPLANG(Wordpress)?

* 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', ''); 
+0

等待使用語言文件,直到您瞭解如何開發wordpress中的tempaltes。 – Steven 2010-09-02 08:52:38

+0

我知道如何在Wordpress中開發模板 – alexchenco 2010-09-03 06:22:45

回答

0

我在使用$_GET['lang']http://example.com/wp-admin/lang=es_ESWP-config.php中有條件直接修改WP_LANG

在此示例中(用於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); 
相關問題