📜  wpml 获取翻译后的 id - PHP (1)

📅  最后修改于: 2023-12-03 14:48:35.114000             🧑  作者: Mango

WPML 获取翻译后的 ID - PHP
简介

在开发 WordPress 主题时,我们经常需要为多语言功能添加翻译支持。WPML(WordPress 多语言)就是一个常用的多语言插件,它可以帮助我们管理和翻译网站内容。其中一个常见的需求是获取当前文章或页面的翻译后的 ID,以便在主题中显示相应语言版本的内容。

在本文中,我们将介绍如何使用 PHP 和 WPML 插件来获取翻译后的 ID。

准备工作

首先,确保您的 WordPress 网站已经安装并正确配置了 WPML 插件。您可以从 WPML 官方网站 上获取插件并按照说明进行安装和设置。

获取翻译后的 ID

要获取当前文章或页面的翻译后的 ID,我们可以使用 WPML 提供的 icl_object_id() 函数。

以下是一个示例代码片段:

<?php

// 获取当前文章的翻译后的 ID
$current_post_id = get_the_ID();
$translated_post_id = icl_object_id($current_post_id, 'post', false, 'zh-cn');

// 获取当前页面的翻译后的 ID
$current_page_id = get_the_ID();
$translated_page_id = icl_object_id($current_page_id, 'page', false, 'zh-cn');

// 输出翻译后的 ID
echo "当前文章的翻译后的 ID:{$translated_post_id}\n";
echo "当前页面的翻译后的 ID:{$translated_page_id}\n";

在上面的示例中,我们首先通过 get_the_ID() 函数获取当前文章或页面的原始 ID。然后,我们使用 icl_object_id() 函数将原始 ID 转换为翻译后的 ID。函数的第一个参数是原始 ID,第二个参数是对象类型(例如,postpage),第三个参数是布尔值,表示我们是否希望获取默认语言版本的 ID,最后一个参数是目标语言的代号(例如,zh-cn 表示简体中文)。

最后,我们使用 echo 输出翻译后的 ID。

总结

使用 WPML 插件和 icl_object_id() 函数可以轻松地获取翻译后的 ID,以便在主题中显示相应语言版本的内容。您可以根据实际需求将以上示例代码集成到您的主题开发中。

希望本文对您理解和使用 WPML 获取翻译后的 ID 提供了帮助。