- สถานะ
- แก้ไขแล้ว
- ปลั๊กอิน/ธีมที่เกี่ยวข้อง
- Twenty Fourteen
ภาพรวมของปัญหา
ปัญหานี้จะเกิดขึ้นเมื่อคุณตั้งค่าเค้าโครง Featured Content เป็นสไลเดอร์หรือกริด (โดยไปที่ รูปแบบเว็บ > ปรับแต่ง > Featured Content) และกำหนดแท็ก “home” เมื่อคุณสร้างโพสต์ในภาษาเริ่มต้น (เพิ่มรูปภาพประจำเรื่องและแท็ก “home”) และแปลโพสต์นั้น โพสต์จะปรากฏสองครั้งในหน้าโพสต์ของภาษารอง โดยครั้งแรกจะแสดงเป็นโพสต์เด่นและอีกครั้งจะแสดงเป็นโพสต์ปกติ
วิธีแก้ปัญหาชั่วคราว
ปัญหานี้เกิดขึ้นเนื่องจากตัวแปร $post__not_in รวม ID ของโพสต์เด่นที่มาจากภาษาเริ่มต้นเพื่อไม่ให้แสดงเป็นโพสต์ปกติ ID โพสต์ของภาษาเริ่มต้นถูกใช้เพื่อกรองโพสต์เด่นในภาษารอง ซึ่งเป็นสาเหตุที่ทำให้โพสต์ทั้งสองปรากฏขึ้น
เพื่อแก้ไขปัญหานี้ ให้เพิ่มโค้ดด้านล่างลงในไดเรกทอรีต่อไปนี้ ( wp-content/themes/twentyfourteen/inc/featured-content.php ) ตรวจสอบให้แน่ใจว่าได้เพิ่มโค้ดหลังบรรทัดที่ 251 ซึ่งมี ($post__not_in = $query->get( ‘post__not_in’ );)
$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');
}
}