WPML

問題の概要

商品のパーマリンクを「ショップベース (カテゴリー付き)」に設定してWPML Multilingual & Multicurrency for WooCommerceを使用している場合、ERR_TOO_MANY_REDIRECTSエラーが発生することがあります。

この問題は、商品が「翻訳可能 – 翻訳があれば使用し、なければデフォルト言語にフォールバックする」に設定されており、商品カテゴリーも翻訳可能である場合に発生します。セカンダリ言語に切り替える際、翻訳された商品のURLが正しく解決されず、無限リダイレクトループが発生します。

回避策

この問題はWPML Multilingual & Multicurrency for WooCommerce 5.5.3で修正されました。 更新するとサイト上の問題は解決するため、この回避策が必要になるのは、まだ更新できない場合のみです。

続行する前に、必ず完全なサイトバックアップを作成してください。

  • テーマの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;
    }

すべての既知の問題

まだこの問題が発生しますか?

アップデートしても問題が解決しない場合は、サポートのご質問をお寄せください。一緒に調査いたします。