我正在使用 Polylang 来翻译我的 WordPress 网站,到目前为止一切正常......
默认语言为英语。假设我在法语页面中,有指向另一个页面的链接。我希望它能链接到法语的其他页面。
<a href="http://localhost:8888/lacolmena/a-propos/" class="apropos">
您可能会说只需在链接末尾添加 /fr 即可。问题是,我希望它能够检测当前使用的语言,并将链接重定向到我要访问的页面的等效语言。
使用 Polylang,我成功翻译了所有页面并顺利运行。我有一个功能菜单,可以让我用任何语言去任何我想去的地方。一页中只有一个链接给我带来了问题,因为它不知道它是否可以转到 /fr 或 /en。
所以我需要找到一种方法来获取当前链接是否为 /fr 或 /en 并重定向到等效语言的页面。
基本上:
my page is in french
go to the french contact page
或
my page is in english
go to the english contact page
我不知道如何做到这一点。我应该使用 PHP 吗?我以前从未使用过 PHP,所以这让我有点害怕,尽管我愿意努力学习它。
我在研究时看到了这个 Polylang 函数,也许它可以是我的算法的开始?
pll_current_language($value);
我不确定我的描述是否清楚..我真的迷失在这里:/
设置
<?php get_the_permalink(pll_get_post(get_page_by_path( 'page-slug' )->ID));?>
网址路径
<a href="<?php echo get_the_permalink(pll_get_post(get_page_by_path( '**YOUR PAGE SLUG HERE**' )->ID));?>">URL TEXT</a>
尝试
get_the_permalink(pll_get_post(get_page_by_path( 'page-slug' )->ID));
它可能看起来像这样
<a href="<?php echo get_the_permalink(pll_get_post(get_page_by_path( 'contact' )->ID));?>">Contact</a>
正在寻找同样的东西。 我使用帖子 ID 来获取不同语言的页面。 我使用的代码:
$languages = pll_the_languages([
"dropdown" => 1,
"hide_current" => 0,
"show_flags" => 1,
"raw" => 1,
]);
if ($languages) {
foreach ($languages as $lang) {
// $url returns the URL of the language, if the page exist in this language.
$url = get_the_permalink(pll_get_post(get_the_ID(), $lang['locale']));
}
}