- ステータス
- 未解決
- 報告対象
- 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 );