【问题标题】:WordPress - Multilingual Site - Switching between two versions of single post templateWordPress - 多语言网站 - 在单个帖子模板的两个版本之间切换
【发布时间】:2022-10-06 17:48:30
【问题描述】:

我已经建立了没有翻译插件的多语言网站。 该网站快完成了,但我现在只做一件事。

我有两种类型的自定义帖子,称为:

  • 团队成员
  • 团队成员-pl

他们都有单曲,分别是:

  • 单队成员.php
  • 单队成员-pl.php

并且有两个页面显示团队成员卡片:

  • page-our-team.php
  • page-our-team-pl.php

当我在上述页面之一时,可以说“page-our-team.php”,我可以看到所有团队成员卡片。当我点击其中一张卡片时,我可以看到有关该成员的英语详细信息,因此我在标题处有语言切换器,我想创建一个链接,如果有人更改语言,该链接将更改模板,所以如果有人点击在语言切换器上,我的“single-team-member-pl.php”模板将被加载,但之前显示的成员不会改变。 例如,如果我们在 Tom Baker 的卡片上,这张卡片仍会显示,但模板将从 \"single-team-member.php\" 交换到 \"single-team-member-pl.php \"

希望我已经清楚地解释了这一点。 这只是我在构建这个网站时忽略的一件事 :( 所以,希望这是可以实现的。

    标签: php wordpress custom-wordpress-pages


    【解决方案1】:

    如果你想在点击时“交换”,你需要使用 JS。您可以做的是将所有信息(en 和 pl)重新组合到一个模板上,并显示用户想要的关于他选择的语言的语言。 否则,我认为您将需要重新加载页面或打开一个新页面。 希望这是有道理的。

    基本上我会做的是保留while循环,并创建一个包含所有信息(英语,pl)的卡片成员模板,如下所示:

    <div class='card-member'>
      <button class='card-member__button-language' type="button">Choose language</button>
      <div class='card-member__english'>
        <p>English info</p>
      </div>
      <div class='card-member__pl'>
        <p>PL info</p>
      </div>
    </div>
    

    默认情况下,您显示英语并隐藏 pl 信息。 然后使用 JS 在按钮上添加一个事件。 如果有人单击该按钮,则将 display none 添加到英语部分并将显示块添加到 pl 部分。

    用户将留在同一页面上,并且对他来说更快。

    希望能帮助到你

    【讨论】:

    • 感谢您的回答,但是单击按钮时如何显示重新分组的数据?我能看到的最大问题是,当有人点击团队成员卡片时,会显示数据,因为我们在特定页面和帖子类型的 while 循环中,所以留在这个页面上可以解决问题。通过 JS 切换模板会丢失 while 循环中的数据,所以我不太确定这是否可以以任何方式工作。
    • 使用此解决方案您不会丢失任何数据。这个想法是只使用一个会员卡模板,其中包含一个英文部分和另一个 PL 部分。然后你只用JS来显示用户想要的部分。希望它更清楚,但我走了编辑我的答案以添加一些信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多