我有某种短代码,例如[wp-text text="Lorem Impsum etc" button_text="Read More"][/wp-text]
.
我想从中提取此短代码post content field
,然后发送这两个属性:text
以及button_text
用于翻译到 SDL World Server。
在得到 SDL 的响应后,我想相应地替换该短代码。
有什么建议或帮助吗?
我有某种短代码,例如[wp-text text="Lorem Impsum etc" button_text="Read More"][/wp-text]
.
我想从中提取此短代码post content field
,然后发送这两个属性:text
以及button_text
用于翻译到 SDL World Server。
在得到 SDL 的响应后,我想相应地替换该短代码。
有什么建议或帮助吗?
以下是关于您的方法的建议:
拥有内容后,您可以使用提供的 Wordpress 函数shortcode_parse_atts解析变量并提取所有短代码属性
对于每个解析的值,对提供的 SDL World Server REST API 进行 API 调用(或者为了获得更好的性能,您可以对所有翻译进行分组,并在 API 支持的情况下使用一个复杂的 API 调用进行翻译)
获得响应后,将原始字符串替换为翻译后的字符串。
这是 PHP 中的示例伪代码:
$shotcode_attributes = shortcode_parse_atts( $post->post_content );
foreach ( $shortcode_attributes as $attribute => $value ) {
// Make SDL World Server API call refer to the API documentation for the exact way
$translated_value = $sdlApiClient->translate( $value );
// Replace the translated value.
// You can be more precise here ensuring that the value is inside the shortcode
$post->post_content = str_replace(
"{$attribute}=\"{$value}\"",
"{$attribute}=\"{$translated_value}\"",
$post->post_content
);
}
您还可以研究和检查提供的SDL WordPress 连接器