- 状态
- 未解决
- 报告针对
- WPML SEO 2.1.0.1
- 相关插件/主题
- Rank Math SEO
- 主题标签
- Compatibility
问题概述
当在配合 WooCommerce 使用的 Rank Math SEO 插件中启用 Remove parent slugs 选项时,会导致产品类别的翻译出现问题。如果您从产品类别页面切换到次要语言,它会指向未翻译的类别别名,从而导致 404 错误页面。
临时解决方法
请在继续操作前确保已对站点进行了完整备份。
- 打开 …/wp-content/plugins/seo-by-rank-math/includes/modules/woocommerce/class-permalink-watcher.php 文件。
- 找到第 124 行。
- 将以下代码:
$permalink_structure = wc_get_permalink_structure(); $category_base = trailingslashit( $permalink_structure['category_rewrite_slug'] ); $is_language_switcher = ( class_exists( 'Sitepress' ) && strpos( $link, 'lang=' ) );
- 替换为:
$permalink_structure = wc_get_permalink_structure(); // WPML Workaround for compsupp-6895 if ( class_exists('Sitepress') ) { $args = array('element_id' => $term->term_id, 'element_type' => $taxonomy ); $term_language_info = apply_filters( 'wpml_element_language_details', null, $args ); $permalink_structure['category_rewrite_slug'] = apply_filters('wpml_translate_single_string', $permalink_structure['category_rewrite_slug'], 'WordPress', 'URL '.$taxonomy.' tax slug', $term_language_info->language_code ); } $category_base = trailingslashit( $permalink_structure['category_rewrite_slug'] ); $is_language_switcher = ( class_exists( 'Sitepress' ) && strpos( $link, 'lang=' ) );