get_template_directory () กับ bloginfo ('template_directory') vs TEMPLATEPATH


16

ฉันอ่านบทความนี้: ข้อผิดพลาดในการพัฒนา WordPress ทั่วไปและวิธีแก้ไขพวกเขาและในนั้นผู้เขียนกล่าวว่า:

การรับตำแหน่งของธีม: หากคุณใช้ TEMPLATEPATH หรือ bloginfo ('template_directory') หยุด! คุณควรใช้ get_template_directory () ที่มีประโยชน์มากอย่างที่เห็นในตัวอย่างด้านบน

แต่เขาไม่ได้ทำอย่างละเอียด เกี่ยวกับbloginfo()อะไร

คำตอบ:


17

ที่จะทำให้เรื่องยาวสั้น: get_bloginfo( 'template_directory' )และก็กลับget_bloginfo( 'template_url' )get_template_directory_uri()

ดังนั้นคุณสามารถช็อตคัตการโทรครั้งที่สองได้ง่ายๆโดยอ้างอิงโดยตรงกับแท็กเทมเพลตหลัง

get_bloginfo()อ้างถึงแหล่งที่มาของ

อื่น ๆ ไม่กี่:

  • 'url' => home_url()
  • 'wpurl' => site_url()
  • 'stylesheet_url' => get_stylesheet_uri()
  • 'stylesheet_directory' => get_stylesheet_directory_uri()
  • 'locale' => get_locale()

แก้ไข

หมายเหตุด้วย: TEMPLATEPATHและSTYLESHEETPATHมีกำหนดสำหรับการคัดค้านดังนั้นคุณจะดีขึ้นเพียงแทนที่พวกเขาตอนนี้ด้วยget_template_directory()และget_stylesheet_directory()ตามลำดับ

แก้ไข 2

เรื่องความคิดเห็นนี้

สิ่งที่ฉันกำลังจะบอกว่า :) ฉันจะเพิ่มที่get_template_directory()คืนค่าเส้นทางและget_template_directory_uri()URL ดังนั้นผู้เขียนจึงไม่สอดคล้องกัน: get_bloginfo( 'template_directory' )และget_template_directory()คืนสิ่งต่าง ๆ !

อ้างอิงกลับไปแหล่งที่มา :)

case 'template_directory':
case 'template_url':
    $output = get_template_directory_uri();
    break;

เรื่องความคิดเห็นนี้:

ข้อแม้หนึ่งเมื่อพัฒนาชุดรูปแบบเด็กคุณจะต้องใช้get_stylesheet_directory()อย่างชัดเจน มีคนแก้ไขฉันถ้าฉันผิด

จริง แต่มันก็เป็นอย่างนั้นเสมอ get_bloginfo()ไม่กลับอะไรget_stylesheet_directory()ที่เกี่ยวข้องกับ มันเพียง แต่ผลตอบแทนและget_stylesheet_uri()get_stylesheet_directory_uri()


ข้อแม้หนึ่งข้อเมื่อพัฒนาธีมลูกคุณจะต้องใช้ get_stylesheet_directory () อย่างชัดเจน มีคนแก้ไขฉันถ้าฉันผิด
Steve

ขอบคุณ! ฉันแค่สงสัยว่าทำไม WP มีฟังก์ชั่นเหล่านี้มากมายที่เพิ่งเรียกฟังก์ชั่นอื่นซึ่งเราไม่ควรใช้ ...
Coopersita

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