在我的主题中,我有一个搜索表单,如下所示:
<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,您可以轻松翻译&#34;搜索&#34;串。但是如果没有WPML,我该怎么办?
是否可以在不触及wordpress核心功能的情况下将变量传递给搜索表单模板?因为我在短代码函数中的主题函数.php中调用了get_search_form();
。
我有一个内容不多的简单网站,并且出于大多数目的,Polylang足以使网站多语言,但我仍然坚持翻译&#34;搜索&#34;串。
答案 0 :(得分: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'"; ?> />
因此,如果访客来自德国,则文本以德语显示,否则以英语显示。它既快又脏,但它有效。仍然可以获得更优雅的解决方案;)