WPML
ステータス
解決済み
報告対象
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;
    }

すべての既知の問題 →