WPML
ステータス
解決済み

問題の概要

パンくずリストを表示するためにyoast_breadcrumb()関数を使用すると、翻訳言語の一部のページリンクで、翻訳されたスラッグの代わりに元のスラッグが表示される場合があります。

これはパフォーマンスへの影響を抑えるための意図的な動作です。なお、リンクをクリックすると正しいページにリダイレクトされます。

回避策

次の回避策を使用して、この動作を変更できます。変更を加える前に、必ずサイトのバックアップを取得してください。

/**
 * Forces using the full resolution for all calls to `wpml_permalink` hook.
 *
 * @param string      $url
 * @param null|string $lang
 * @param bool        $absolute_url
 *
 * @return string
 */
function wpmlsupp_8689_force_full_permalink_conversion( $url, $lang = null, $absolute_url = false ) {
    static $converting = false;
    $lang = apply_filters( 'wpml_current_language', NULL );
    if ( ! $converting ) {
        $converting = true;
        $url        = apply_filters( 'wpml_permalink', $url, $lang, true );
        $converting = false;
    }
    return $url;
}
// Hook with priority 5 to run before WPML Core filter.
add_filter( 'wpml_permalink', 'wpmlsupp_8689_force_full_permalink_conversion', 5, 3 );

すべての既知の問題 →