【问题标题】:How can I fetch the post slugs of all languages?如何获取所有语言的 post slug?
【发布时间】:2023-03-20 04:32:01
【问题描述】:

我有一个 react 项目,它通过 api 调用获取 wordpress 上的数据(安装的插件:ACF 和 WPML)。 我有 Event CPT 并查看页面 localhost:3000 / events / first-event,我通过 slug 检索信息。 如果在此页面上我想用另一种语言检索相同的事件,我可以在 url 中添加国家代码并进行重定向。 根据语言,同一事件可能具有不同的 slug,并且该功能不起作用。 您对如何制作此功能有任何想法吗?

谢谢你们!

我暂时修改了路径名。

<a href={window.location.pathname.replace('/','/en/')}>EN</a>

我找到了解决方案

我使用icl_get_languages() 函数获取语言,icl_object_id() 检索语言的帖子 ID,get_post 检索所有字段,update_post_meta 向帖子添加自定义字段。

【问题讨论】:

    标签: wordpress rest custom-post-type slug wpml


    【解决方案1】:

    嘿,我有相同的设置,但 React 没有。

    如果您使用的 API 没有在类中进行任何修改,并且语言之间的标题相同,请尝试以下操作: /wp-json/wp/v2/posts/?post-slug=second+post&amp;lang=fr 和页面蛞蝓 /wp-json/wp/v2/pages/?page-slug=second+post&amp;lang=fr

    但是,如果您希望 ACF 字段存在(或使用插件),则需要修改 API 响应。

    另外请注意,翻译之间的帖子 ID 是不同的。确保在 WP_REST_Controller 的修改中包含 lang 作为参数。 https://developer.wordpress.org/reference/classes/wp_rest_controller/get_collection_params/

    如果有帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-06
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多