wordpress - 如何获取所有语言的 post slug?
问题描述
我有一个 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
帖子添加自定义字段。
解决方案
嘿,我有相同的设置,但 React 没有。
如果您使用的 API 没有在类中进行任何修改,并且鉴于语言之间的标题相同,请尝试以下操作:
/wp-json/wp/v2/posts/?post-slug=second+post&lang=fr
和 page slug
/wp-json/wp/v2/pages/?page-slug=second+post&lang=fr
但是,如果您希望 ACF 字段存在(或使用插件),则需要修改 API 响应。
另请注意,翻译之间的帖子 ID 是不同的。确保在 WP_REST_Controller 的修改中包含 lang 作为参数。https://developer.wordpress.org/reference/classes/wp_rest_controller/get_collection_params/
让我知道这是否有帮助。
推荐阅读
- google-apps-script - 谷歌脚本从特定谷歌工作表通过电子邮件发送 PDF 将所有工作表发送到某些工作表上,而不是其他工作表上
- pycharm - PyCharm 在 Python 控制台中运行脚本
- android - 问题从 android studio 的 assets 文件夹中读取 sqlite 版本 3
- ruby-on-rails - 如何创建特定于 Rails 的 Rubygem?
- elasticsearch - Elastic Search 使数字字段得分具有最终相关性
- java - 使用 XStream 从 arraylist 写入 XML
- python - 绘制由一列数据框分组的多条线,日期时间为 x 轴
- awk - 如何使用 awk 在文件中向前搜索并删除与前 3 行匹配的行
- bash - 将文件中的唯一列提取到具有特定顺序的逗号分隔列表中
- imagemagick - 为什么 Graphicsmagic 生成的缩略图比 Imagemagick 大得多?