WPML
ステータス
解決済み

問題の概要

ある言語でURLが無効な場合、WPMLはそのURLが別の言語で有効であるかどうかを確認します。確認された場合、WPMLは訪問者を言語情報を含む正しいURLにリダイレクトします。

ただし、この動作はカスタムリライトルールにおいて問題を引き起こす可能性があります。

回避策

WPMLは、このリダイレクトに対するwpml_is_redirectedフィルターを提供しています。以下はその使用例です。

/**
* This will prevent redirection in the secondary language for the custom rule:
* '^products/([A-Za-z0-9-]+)/?' => 'index.php?pagename=new-sample&type=$matches[1]'
*/
function wpmlcore_4704_block_redirect( $redirect, $post_id, $q ) {
// Decide on which condition we should prevent the redirection
if ( isset( $q->query_vars['pagename'] ) && 'sample-page' === $q->query_vars['pagename'] ) {
return false;
}

return $redirect;
}
add_filter( 'wpml_is_redirected', 'wpmlcore_4704_block_redirect', 10, 3 );

すべての既知の問題 →