2013-01-02 41 views
0

嗨有可能點擊網站上的按鈕,可以設置不同的主題?我的客戶需要翻譯每一頁的波蘭語,並希望手動完成翻譯,而不是通過插件。所以我想要做的最簡單的事情是在header.php等和footer中使用不同文本創建一個全新的主題,並在header.php中調用不同的菜單,而波蘭語導航元素代替它。通過javascript點擊事件更改wordpress主題

+0

看看WPML。這是使用翻譯文件/表格的「手動」。我已經在幾個國際網站上使用過,效果很好。 –

+0

謝謝,但這是$ 79,我想自己做 – Nicola

+0

這是非常非常非常值得的。你會爲自己節省一船時間。您需要花多少時間來設置多個主題,是否能夠翻譯內容(即將所有內容以多種語言顯示)並確保一切正常工作?如果您的時間價值甚至達到20美元/小時,僅需4個小時的時間即可購買WPML,並且您可以在所有項目上重新啓動。我仍然說這是值得的:) –

回答

0

多個主題並不太難。以下掛鉤允許當前主題被覆蓋:

function wp_14125148_set_template($theme) { 
    if(<user has a specific theme>) $theme = "<user specific theme name here>"; 
    return $theme; 
} 

function wp_14125148_set_stylesheet($theme) { 
    if(<user has a specific theme>) $theme = "<user specific theme name here>"; 
    return $theme; 
} 

add_filter('template', 'wp_14125148_set_template'); 
add_filter('stylesheet', 'wp_14125148_set_stylesheet'); 

棘手的部分是檢測用戶應該服務的主題。這樣做的通常方式是有一個主題選擇器,用於存儲具有主題選擇的cookie,然後重新加載當前頁面。具有上述選擇器代碼的插件應檢查cookie並使用指定的主題 - 如果沒有cookie,則不執行任何操作。

以下是Wordpress使用Cookie的法典條目:http://codex.wordpress.org/WordPress_Cookies

+0

謝謝。什麼插件使用這個? – Nicola

+0

我遇到的困難是知道如何通過前端交互設置主題。即點擊運行PHP函數的錨點,或者我只需設置cookie,然後重新加載頁面? – Nicola

+0

我只是做了粗略的掃描,有很多插件,但大多數都是舊的,我不會相信它們。有wpmu切換器,看起來不錯,但支付。 –

0

我認爲你應該使用翻譯文件來幫助你改變文本,而不是爲每種語言設置多個主題。

然後使用一個變量來設置'當前語言'幷包含正確的文件。

如果您有完全不同的主題,那麼您將有2個主題來維護。

我不知道,如果你使用jQuery,但我用這個和發現它非常有用: http://recursive-design.com/projects/jquery-i18n/