2014-08-28 63 views
0

在我的主題我有一個搜索表單,看起來像這樣:如何在沒有WPML字符串轉換的情況下使搜索表單值多語言?

<form method="get" id="search" action="<?php echo home_url(); ?>"> 
    <div> 
    <?php $req=''; ?> 
    <input type="text" value="Search" name="s" id="s" onfocus="if(this.value==''){this.value='<?php _e('Search', 'thememagic'); ?>'};" onblur="if(this.value==''){this.value='Search'};" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> /> 
    <input type="submit" id="searchsubmit" value="" /> 

    </div> 
</form> 

我覺得_e('Search', 'thememagic')意味着,如果你會使用WPML您可以輕鬆地翻譯了「搜索」字符串。但是如果沒有WPML,我可以做什麼?

是否有可能將變量傳遞給搜索表單模板而不觸及wordpress核心功能?因爲我在短代碼函數中調用get_search_form();在我主題的functions.php中。

我有一個簡單的網站沒有太多的內容和大多數的目的Polylang是足夠好,使網站多語言,但我堅持翻譯「搜索」字符串。

+0

也許用放大鏡圖標而不是文本? – 2014-08-28 14:21:40

+0

已經有一個,但爲了可用性的原因,我也想在那裏一些文本;) – user2718671 2014-08-28 14:27:28

回答

0

由於我的網站只是雙語,我想出了這個,它似乎工作。 我改變了輸入線從上面:

<input type="text" value="<?php echo (get_bloginfo('language')=='de-DE')?'Suche':'Search';?>" name="s" id="s" onfocus="if(this.value==''){this.value='<?php echo (get_bloginfo('language')=='de-DE')?'Suche':'Search';?>'};" onblur="if(this.value==''){this.value='<?php echo (get_bloginfo('language')=='de-DE')?'Suche':'Search';?>'};" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> /> 

所以,如果訪問者是來自德國的文本顯示在德國和其他方面的英語。它很快,很髒,但它的工作原理。儘管如此,仍然打開更優雅的解決方案;)

相關問題