WordPress不同语言的页脚文本

时间:2018-08-27 作者:BR Management

我是WordPress的新手,在建立网站时遇到了问题。我在我的多语言网站上使用了Sydney主题和Polylang插件。

我已经建立了一个网站在4种不同的语言,现在我想有一个不同的页脚文本为每种语言在子页脚部分。

例如,它在哪里用英语说\'Copyright I Privacy policy\' \', 打开超链接provacypolicy/en, 是我创造的。对于德语起始页,子文件夹语言应在\'Copyright I Datenschutz\', 使用德语页面上Datenschutz的超链接privacypolicy/de 是我创造的。其他语言也是如此。

我试着在footer.php 但我运气不好。

我的现有代码<div class="site-info container"> 在里面footer.php 是:

© <?php echo date("Y"); ?> | Company name | All rights reserved | <a href=
"http://localhost/companyname/wordpress/privacy-policy/">Privacy policy</a> 
当我使用德语时,应该改为:

© <?php echo date("Y"); ?> | Company name | Alle Rechte vorbehalten | <a href=
"http://localhost/companyname/wordpress/datenschutz/">Datenschutz</a>
其他两种语言也是如此。

我解决了这个问题对于有相同问题的任何人,请使用if - endif 在页脚中输入代码。php。

enter image description here

1 个回复
SO网友:nmr

为了能够翻译主题中的文本,应该通过本地化函数将文本作为参数传递__(), _e().

echo \\(\'要显示的示例文本\',\'主题文本域\')
_e(\'要显示的示例文本\',\'主题文本域\');

您可以找到更多功能和详细信息here

在你的情况下,可能是这样的:

© <?php 
echo date("Y"); 
$page_id = \'ID_of_privacy_policy_page\';

if ( function_exists(\'pll_get_post\') )
    $page_id = pll_get_post( $page_id );
$p_link = get_the_permalink($page_id);
$p_title = get_post_field(\'post_title\', $page_id);

printf(\' | %s | %s | <a href="%s">%s</a>\', 
    \'Company name\',
    __(\'All rights reserved\', \'some_textdomain\'),
    esc_url($p_link),
    esc_html($p_title)
);
$page_id 可以硬编码或设置为$page_id = get_page_by_path(\'privacy-policy\')->ID;.

$page_id = pll_get_post( $page_id );
obove行将以当前语言获取“隐私政策”页面的ID。

下一步是准备带有翻译的文件de_DE.po, de_DE.mo 和其他两种语言。编辑主题中的现有文件,或根据需要创建新文件。有关示例工具的列表,请访问codex website, 其中包括本地翻译、Poedit。

结束