1

WPML Wordpress プラグインを使用してウェブサイトを翻訳しています。私のデフォルト言語はフランス語です。翻訳されたページにいるときhome_url()は、現在の言語で書き換えられます。home_url()この書き換えを無効にして、常にフランス語のホームページにリダイレクトするにはどうすればよいですか?

ページの URL を翻訳 : http://www.mydomain.com/en/test/

実際home_url(): http://www.mydomain.com/en/

希望home_url(): http://www.mydomain.com/

私はすでにこれらの解決策を試しました:

http://wpml.org/forums/topic/wpml-overwrites-home_url-to-append-language-suffix/ http://wpml.org/documentation/support/creating-multilingual-wordpress-themes/home-page-リンク/ http://wpml.org/forums/topic/wpml-changed-my-default-home-url/

私の下手な英語で申し訳ありませんが、助けてくれてありがとう!他に情報を提供する必要がある場合はお知らせください。

4

2 に答える 2

1

ご回答有難うございます!

私はあなたの機能を少し調整しました。これが私の最終的な機能です:

add_filter('home_url', 'fix_home_url_lang', 100, 4);

function fix_home_url_lang($url, $path, $orig_scheme, $blog_id) {
  return 'http://' . DOMAIN_CURRENT_SITE . PATH_CURRENT_SITE . $path;
}
于 2013-10-02T16:15:54.983 に答える
1

フック/フィルター「home_url」を使用して WPML によって行われていることをオーバーライドし、home_url() をオーバーライドして、$_SERVER['SERVER_NAME']; を使用して言語なしで URL を取得できると思います。または他の方法。

たぶん、このようなものがうまくいくかもしれません:

add_filter( 'home_url', 'fix_home_url_lang', 100, 4 );

function fix_home_url_lang( $url, $path, $orig_scheme, $blog_id ) {
  return 'http://' . DOMAIN_CURRENT_SITE . PATH_CURRENT_SITE . $path;
}

これはマルチサイトを考慮していないので、注意してください。また、関数に渡されたパラメーターを使用して、必要な URL を特定する必要があるかもしれません。

于 2013-10-02T16:08:48.993 に答える