web-dev-qa-db-ja.com

WPML:ページタイトルを異なる言語で取得する

私はWPMLプラグインを使って英語とドイツ語で私のウェブを運営しています。私の質問:英語モードのとき - page_title()を取得することは可能ですがドイツ語で可能ですか?

ありがとう

5
Fuxi

あなたのサイトの元の言語が英語であるとしましょう、そしてドイツの記事を訪問するとき、あなたはそのような対応する英語の記事のタイトルを返すでしょう:

// Get the post ID of original post
$original_ID = icl_object_id( $post->ID, 'post', false, 'en' );

// Get original post title
$original_title = get_the_title( $original_ID );

どんな場合でも icl_object_id()のドキュメントをチェックしてください。

4
mike23

そのmike23をありがとう、今日私にとって命の恩人でした。しかし、その正確なコードは私にはうまくいきませんでした。私の状況でそれを機能させるには、WPMLプラグインの新しいバージョンが原因である可能性があります。

私は変更しなければなりませんでした:

$original_ID = icl_object_id( $post->ID, 'post', false, 'en' );

に:

$original_ID = icl_object_id( $post->ID, 'any', false, 'en' );

唯一の変更は 'post' - > 'any'です。それは小さな変化ですが、私が入力した他のタイプは私のために働かないので違いの世界を作りました。これが同じ問題に遭遇する誰かに役立つことを願っています。

シモンズ:私はその関数が作成されているファイルに行くことによって 'any'タイプを使用できることを発見しました:/wp-content/plugins/sitepress-multilingual-cms/inc/template-functions.php。ファイル内にあるときは、icl_object_id()を検索してください。

2
psychedelus