printf (__ ()) อย่างไร; งาน?


12

วันนี้ฉันทำงานผ่านชุดรูปแบบเพื่อทำความเข้าใจ WordPress และ templating ให้ดียิ่งขึ้น ฉันค้นพบสิ่งนี้:

<?php 
printf( 
    __('Designed by %s', 'Anyword'), 
    '<a href="http://www.example.com">Blub</a>'
); 
?>

ฉันรู้ว่ามันแสดง "ออกแบบโดย Blub" (ที่เชื่อมโยง Blub) แต่__()ค่าเฉลี่ยหรือทำไมถึงมีการแทรกสตริง? อะไรคือ Anyword?

บางคนสามารถอธิบายบรรทัดนี้ให้ฉันได้ไหม

คำตอบ:


8

โดยจะใช้สำหรับการแปลข้อความ

อาร์กิวเมนต์ที่สองคือเนมสเปซชนิดหนึ่ง (เรียกว่าโดเมนที่นี่) เพื่อดึงการแปล (ตัวอย่างจากไฟล์เฉพาะหรืออย่างอื่น)

ดังนั้นAnywordที่นี่ควรเป็นคนที่อยู่เบื้องหลังเทมเพลตหรือ บริษัท หรือสิ่งที่เคยเป็นโดเมน / เนมสเปซ

แก้ไข:

เอกสารจาก wordpress ให้คำอธิบายเพิ่มเติมเกี่ยวกับวิธีการทำให้ปลั๊กอินเป็นสากล :


เพิ่มลงในรหัสปลั๊กอินเพื่อให้แน่ใจว่าโหลดไฟล์ภาษาแล้ว:

load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );

ในการดึงข้อมูลสตริงใช้__('String name','your-unique-name');เพื่อส่งคืนการแปลหรือ_e('String name','your-unique-name');เพื่อสะท้อนการแปล การแปลจะเข้าสู่โฟลเดอร์ปลั๊กอิน / ภาษาของคุณ


สำหรับปลั๊กอินของคุณ / ธีมที่น่าจะเป็นyour-unique-nameAnyword


มีไฟล์ภาษาบางส่วนในชุดรูปแบบ การโต้แย้งรู้ได้อย่างไรว่าใช้พวกมันเพียง 'Anyword'?

ฉันได้อัปเดตคำตอบด้วยส่วนที่ดีกว่าจาก WP doc แล้ว
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.