- ステータス
- 解決済み
- 関連するプラグイン/テーマ
- Twenty Fourteen
問題の概要
この問題は、(外観 > カスタマイズ > おすすめコンテンツに移動して)おすすめコンテンツのレイアウトをスライダーまたはグリッドに設定し、「home」タグを追加した場合に発生します。デフォルト言語で投稿を作成し(アイキャッチ画像と「home」タグを追加)、それを翻訳すると、セカンダリ言語の投稿ページにその投稿が2回表示されます。1つはおすすめ投稿として、もう1つは通常の投稿として表示されます。
回避策
これは、通常の投稿として表示されないようにするためのデフォルト言語のおすすめの投稿のIDが、変数$post__not_inに含まれているために発生します。デフォルト言語の投稿IDを使用してセカンダリ言語のおすすめの投稿をフィルターするため、両方の投稿が表示されます。
この問題を解決するには、以下のディレクトリ(wp-content/themes/twentyfourteen/inc/featured-content.php)に以下のコードを追加します。必ず($post__not_in = $query->get( ‘post__not_in’ );)が含まれる251行目の後に追加してください。
$my_current_lang = apply_filters( 'wpml_current_language', NULL );
$my_default_lang = apply_filters('wpml_default_language', NULL );
if($my_current_lang != $my_default_lang) {
for ($i = 0; $i < count($featured); $i++) {
$featured[$i] = apply_filters('wpml_object_id', $featured[$i], 'post');
}
}