- ステータス
- 解決済み
- 報告対象
- WPML Multilingual & Multicurrency for WooCommerce 5.3.9
- 解決されたバージョン
- WPML Multilingual & Multicurrency for WooCommerce 5.5.3
- トピックタグ
- Bug, WCML
問題の概要
商品のパーマリンクを「ショップベース (カテゴリー付き)」に設定してWPML Multilingual & Multicurrency for WooCommerceを使用している場合、ERR_TOO_MANY_REDIRECTSエラーが発生することがあります。
この問題は、商品が「翻訳可能 – 翻訳があれば使用し、なければデフォルト言語にフォールバックする」に設定されており、商品カテゴリーも翻訳可能である場合に発生します。セカンダリ言語に切り替える際、翻訳された商品のURLが正しく解決されず、無限リダイレクトループが発生します。
回避策
続行する前に、必ず完全なサイトバックアップを作成してください。
- テーマのfunction.phpファイルを開きます。
- 以下のコードを追加します。
add_filter( 'wc_product_post_type_link_product_cat', 'custom_modify_product_cat', 10, 3 ); function custom_modify_product_cat( $primary_term, $terms, $post ) { // Example: Replace the primary term if the product has a specific category if ( $post->post_type === 'product' ) { foreach ( $terms as $term ) { $termid = apply_filters( 'wpml_object_id', $term->term_id, $term->taxonomy, TRUE ); $term = get_term( $termid, $term->taxonomy ); return $term; } } return $primary_term; }