get_template_directory () vs bloginfo ('template_directory') vs TEMPLATEPATH


16

Saya membaca artikel ini: Kesalahan Umum Pengembangan WordPress dan Cara Memperbaikinya , dan di dalamnya, mereka berkata:

Mendapatkan lokasi tema: Jika Anda menggunakan TEMPLATEPATH atau bloginfo ('template_directory'). Berhenti! Anda harus menggunakan get_template_directory () yang sangat berguna seperti yang terlihat pada contoh saya di atas.

Tapi dia tidak merinci. Apa yang buruk tentang itu bloginfo()?

Jawaban:


17

Untuk membuat cerita panjang pendek: get_bloginfo( 'template_directory' )dan get_bloginfo( 'template_url' )cukup kembali get_template_directory_uri().

Jadi, Anda dapat membuat pintasan panggilan kedua itu hanya dengan merujuk langsung ke tag templat yang terakhir.

Lihat sumber untukget_bloginfo() .

Beberapa lainnya:

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

Edit

Perhatikan juga: TEMPLATEPATHdan STYLESHEETPATHdijadwalkan untuk penghentian , jadi Anda lebih baik hanya menggantinya sekarang, dengan get_template_directory()dan get_stylesheet_directory(), masing-masing.

Edit 2

Re: komentar ini

Hanya apa yang akan saya katakan :). Saya akan menambahkan yang get_template_directory()mengembalikan path dan get_template_directory_uri()url. Jadi pengarangnya tidak konsisten: get_bloginfo( 'template_directory' )dan get_template_directory()kembalikan hal yang berbeda!

Rujuk kembali ke sumber :)

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

Re: komentar ini:

Satu peringatan ketika mengembangkan tema anak Anda harus menggunakan get_stylesheet_directory()secara eksplisit. Seseorang mengoreksi saya jika saya salah.

Benar, tapi itu selalu terjadi. get_bloginfo()tidak mengembalikan apa pun yang terkait dengan get_stylesheet_directory(). Hanya mengembalikan get_stylesheet_uri()dan get_stylesheet_directory_uri().


Satu peringatan ketika mengembangkan tema anak Anda harus menggunakan get_stylesheet_directory () secara eksplisit. Seseorang mengoreksi saya jika saya salah.
Steve

Terima kasih! Saya hanya ingin tahu mengapa WP memiliki begitu banyak fungsi yang hanya memanggil fungsi lain, sehingga kita seharusnya tidak menggunakan ...
coopersita

Dalam hal ini, saya pikir alasannya adalah hanya untuk menjaga kompatibilitas ke belakang ke get_bloginfo()parameter.
Chip Bennett
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.