首页 > 解决方案 > Polylang 翻译网址 slug 无法正常工作

问题描述

我正在使用 Polylang wordpress 插件将我的网站转换为多种语言。

在免费版本中,不允许在永久链接中翻译 category_base 或 Tags slug。

所以我试图找到一个解决方案,我参与了插件https://github.com/KLicheR/wp-polylang-translate-rewrite-slugs

应该这样做,我安装了插件并在 function.php 中输入了以下代码段:

add_filter( 'pll_translated_taxonomy_rewrite_slugs', function( $taxonomy_translated_slugs ) 
{
    $taxonomy_translated_slugs = array(

        // tax_name
        'category' => array(
            'it' => 'categoria',
            'en' => 'category',
        )

    );

    return $taxonomy_translated_slugs;
});

我使用的片段是在插件自述文件中找到的:https ://github.com/KLicheR/wp-polylang-translate-rewrite-slugs/blob/master/polylang-translate-rewrite-slugs.php

我更新了永久链接,现在当我更改语言时,url 中的 slug 似乎发生了变化。

我注意到虽然在 HTML 代码中 HREFLANG 标记有问题,但没有显示正确的 URL。

正确的网址是:

它:Mydomain.com/categoria/xxxxxxx

CN: Mydomain.com/en/category/yyyyyy

将在我发现自己的 html 代码中查看 HREFLANG 标记:

<link rel = "alternate" href = "Mydomain.com/xxxxxxx" hreflang = "it" />
<link rel = "alternate" href = "Mydomain.com/en/yyyyyy" hreflang = "en" />

所以消除了slug“类别”和“类别”。

语言切换器小部件中的链接也有同样的问题。

为什么不更新这些元素呢?

标签: phpwordpressgithubpluginspolylang

解决方案


推荐阅读