📜  polylang 集成站点显示所有没有语言差异的博客 (1)

📅  最后修改于: 2023-12-03 15:33:43.862000             🧑  作者: Mango

Polylang 集成站点显示所有没有语言差异的博客

Polylang 是 WordPress 上一款非常流行的多语言插件,它可以帮助网站管理员将站点翻译成多种语言,使得来自世界各地的用户都可以轻松理解网站内容。但是在某些情况下,我们希望降低翻译带来的差异,比如在显示博客文章时,我们希望默认展示所有语言的文章,而不是根据用户的语言偏好进行展示。这样可以避免在不同语言版本之间反复跳转,给用户带来更好的使用体验。

在本文中,我们将介绍如何使用 Polylang 插件集成站点显示所有没有语言差异的博客。以下是具体步骤:

步骤一:安装和配置 Polylang 插件

首先,你需要在网站上安装和激活 Polylang 插件。在安装完成后,你需要进入插件的设置页面,进行基本的语言配置。插件的菜单可以在 WordPress 后台的侧边栏中找到。以下是具体的配置步骤:

  1. 进入 Polylang 插件主页面,点击“语言”选项卡;
  2. 点击“添加新语言”按钮,添加想要支持的语言版本;
  3. 为每种语言设定语言码,用于区分不同语言版本;
  4. 点击“保存更改”按钮,完成配置。
步骤二:禁用文章翻译功能

为了使博客文章可以在所有语言版本中统一展示,我们需要禁用 Polylang 插件自带的文章翻译功能,这样就不会出现不同语言版本的文章独立存在的情况。以下是具体的配置步骤:

  1. 进入 Polylang 插件主页面,点击“设置”选项卡;
  2. 在“文章(post)”选项中,将“自动复制文章给新的翻译”选项关闭;
  3. 点击“保存更改”按钮,完成配置。
步骤三:使用过滤器启用博客的多语言功能

现在我们的网站设置已经完成,但是默认情况下还是只会展示当前用户所选语言的博客文章。为了改变这些行为,我们需要编写一些自定义代码。以下是具体的步骤:

  1. 在你的主题目录下新建一个 functions.php 文件;
  2. 在文件中添加以下代码,启用 Polylang 的多语言功能:
function enable_all_languages_for_blog_posts($query) {
    if ($query->is_home() && $query->is_main_query()){
        $query->set('post_type', 'post');
        $query->set('suppress_filters', false);
        $query->set('lang', '');
    }
}
add_action('pre_get_posts', 'enable_all_languages_for_blog_posts');
  1. 保存文件并上传到服务器,刷新你的网站,你应该能看到所有博客文章都被默认展示了。
结论

在这篇文章中,我们介绍了如何使用 Polylang 插件集成站点显示所有没有语言差异的博客。虽然默认情况下 Polylang 会根据用户的语言偏好展示不同的文章版本,但通过一些简单的配置和自定义代码,我们可以实现更普遍的博客展示,提供更好的使用体验。