apply_filters( 'wpml_display_language_names', mixed $empty_value, string $native_name, string|bool $translated_name, bool $lang_native_hidden, bool $lang_translated_hidden )
- ประเภท
- filter
- หมวดหมู่
- ข้อมูลภาษาทั่วทั้งไซต์
- เวอร์ชันของ WPML
- 3.2
คำอธิบาย
ตรวจสอบว่าชื่อดั้งเดิมของภาษาและชื่อที่แปลของภาษาเดียวกันแตกต่างกันหรือไม่ หากแตกต่างกัน จะส่งคืนทั้งสองชื่อ มิฉะนั้น จะส่งคืนเพียงชื่อเดียว
ฟิลเตอร์นี้มักจะใช้ในตัวสลับภาษาแบบกำหนดเอง
อาร์กิวเมนต์
- $empty_value
- (mixed) (จำเป็น) โดยปกติแล้วนี่คือค่าที่ฟิลเตอร์จะปรับเปลี่ยน เราไม่ได้ทำการกรองใด ๆ ที่นี่ ดังนั้นให้ตั้งค่านี้เป็น NULL เพื่อให้ฟังก์ชันฟิลเตอร์ได้รับรายการอาร์กิวเมนต์ทั้งหมดอย่างแท้จริง
- $native_name
- (string) (จำเป็น) ชื่อดั้งเดิมของภาษา
- $translated_name
- (string|bool) (จำเป็น) ชื่อที่แปลแล้วของภาษา ค่าเริ่มต้นคือ FALSE
- $lang_native_hidden
- (bool) (ทางเลือก) ค่าเริ่มต้นคือ FALSE 0|false หรือ 1|true ว่าจะซ่อนชื่อดั้งเดิมของภาษาหรือไม่
- $lang_translated_hidden
- (bool) (ทางเลือก) ค่าเริ่มต้นคือ FALSE 0|false หรือ 1|true ว่าจะซ่อนชื่อที่แปลแล้วของภาษาหรือไม่
ตัวอย่างการใช้งาน
ตัวอย่าง
function my_footer_languages_list(){
$languages = apply_filters( 'wpml_active_languages', NULL, 'skip_missing=0&orderby=code' );
if( !empty( $languages ) ){
echo '<div id="footer_language_list"><ul>';
foreach( $languages as $l ){
echo '<li>';
if( $l['country_flag_url'] ){
if( !$l['active'] ) echo '<a href="'.$l['url'].'">';
echo '<img src="'.$l['country_flag_url'].'" height="12" alt="'.$l['language_code'].'" width="18" />';
if( !$l['active'] ) echo '</a>';
}
if(!$l['active']) echo '<a href="'.$l['url'].'">';
echo apply_filters( 'wpml_display_language_names', NULL, $l['native_name'], $l['translated_name'] );
if( !$l['active'] ) echo '</a>';
echo '</li>';
}
echo '</ul></div>';
}
}
ฟังก์ชันตัวอย่างด้านบนทำงานดังต่อไปนี้:
- หากมีภาษาใด ๆ ฟังก์ชันจะสร้าง DIV และเริ่มต้นรายการแบบไม่มีลำดับ
- จากนั้นจะวนลูปผ่านแต่ละภาษาและเพิ่มเป็นรายการ
หากภาษานั้นไม่ใช่ภาษาที่ใช้งานอยู่ ฟังก์ชันจะเพิ่มลิงก์ไปยังหน้าที่แปลแล้วสำหรับภาษานั้น - จากนั้นจะเพิ่มธงของภาษา
- สุดท้าย จะเพิ่มทั้งชื่อดั้งเดิมและชื่อที่แปลแล้วของภาษาหากทั้งสองชื่อแตกต่างกัน
ฮุกที่เกี่ยวข้อง
wpml_decode_custom_field, wpml_footer_language_selector, wpml_add_language_form_field, wpml_ls_exclude_in_menu, wpml_is_rtl, wpml_alternate_hreflang, wpml_head_langs, wpml_must_translate_canonical_url, wpml_browser_redirect_language_params, wpml_active_languages