我有某种[wp-text text="Lorem Impsum etc" button_text="Read More"][/wp-text]
之类的短代码。
我想从 post content field
中提取此短代码,然后发送以下两个属性:text
和button_text
以便转换为SDL World Server。
从SDL获得响应后,我想相应地替换该短代码。
有任何建议或帮助吗?
答案 0 :(得分:0)
以下是关于您的方法的建议:
有了内容,您可以解析变量并使用提供的Wordpress函数shortcode_parse_atts提取所有短代码属性
对于每个已解析的值,请对提供的SDL World Server REST API进行API调用(或者为了获得更好的性能,您可以将所有翻译归为一组,并在API支持的情况下使用一个复杂的API调用进行翻译< / em>)
获得响应后,将原始字符串替换为翻译后的字符串。
这是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 Connector