- 状态
- 等待作者
- 主题标签
- Compatibility
问题概述
将LayerSlider与 WPML 结合使用时,您可能会遇到这样一个问题,即在Layer Settings > Link中添加的链接在前端未被翻译,即使滑块内容本身已翻译也是如此。
临时解决方法
临时解决方法 1 – 无需代码(推荐)
此临时解决方法仅适用于内部链接。- 前往“Layer Settings > Link > Layer Linking”
- 单击“Choose Post or Page”并选择正确的文章/页面
- 保存您的滑块
- WPML 将能够自动翻译该链接
临时解决方法 2 – 更改代码
在继续操作之前,请确保对您的站点进行了完整站点备份。 1. 注册图层 URL 字符串以进行翻译- 打开 …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/wp/actions.php 文件。
- 找到第 886 行。
- 将:
foreach($data['layers'] as $slideIndex => $slide) { - 替换为:
foreach($data['layers'] as $slideIndex => $slide) { foreach ( $slide['sublayers'] as $index => $sublayer ) { if ( ! empty( $sublayer['url'] ) ) { $string_name = "slider-{$sliderID}-sublayer_link-{$sublayer['url']}"; do_action( 'wpml_register_single_string', 'LayerSlider Sliders', $string_name, $sublayer['url'] ); } }
- 打开 …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/includes/slider_markup_html.php 文件。
- 找到第 702 行。
- 将:
if( ! empty( $layer['props']['url'] ) ) { - 替换为:
if( ! empty( $layer['props']['url'] ) ) { $layer['props']['url'] = apply_filters( 'wpml_translate_single_string', $layer['props']['url'], 'LayerSlider Sliders', "slider-{$id}-sublayer_link-{$layer['props']['url']}");
- 编辑原始滑块
- 再次保存或发布滑块
- 前往 WPML > 字符串翻译
- 按 LayerSlider Sliders 域进行筛选
- 翻译已注册的 URL 字符串