- ステータス
- 未解決
- 報告対象
- 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=' ) );