WPML
ステータス
未解決
報告対象
WPML Multilingual CMS 4.6.13
トピックタグ
Bug

問題の概要

カスタム投稿タイプタクソノミーが同じスラッグを共有している場合、WYSIWYGフィールド内で相対リンクが正しく表示されないという既知の問題があります。これにより、フロントエンドではリンクがクエリ文字列形式に戻ってしまい、期待されるきれいなパーマリンク構造とは異なるものになります。

たとえば、http://domain/test/post-type/test-cpt/に繋がるはずのリンクが、代わりにhttp://domain/?taxonomy-test-post-type=test-cptを指してしまいます。

回避策

このスニペットをfunctions.phpファイルに追加できます:

/**
 * Temporary snippet: Replaces relative links with absolute links
 * before it get converted by the filter `wpml_translate_link_targets`.
 */
add_filter( 'wpml_translate_link_targets', function( $value ) {
    return preg_replace_callback( '/href="([^"]+)"/i', function( $matches ) {
        if ( false === strpos( $matches[1], '://' ) ) {
            $url = site_url( $matches[1] );
        } else {
            $url = $matches[1];
        }

        return 'href="' . $url . '"';
    }, $value );
}, 0 );

すべての既知の問題 →