get_template_directory () vs 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

Re: цей коментар

Просто те, що я збирався сказати :). Я додаю, що 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;

Re: цей коментар:

Єдине застереження при розробці дитячих тем вам потрібно буде get_stylesheet_directory()чітко використовувати . Хтось мене виправить, якщо я помиляюся.

Щоправда, але так завжди було. get_bloginfo()не повертає нічого, пов’язаного з цим get_stylesheet_directory(). Це лише повертається get_stylesheet_uri()і get_stylesheet_directory_uri().


Єдиний застереження при розробці дитячих тем вам потрібно буде чітко використовувати get_stylesheet_directory (). Хтось мене виправить, якщо я помиляюся.
Стів

Спасибі! Мені просто цікаво, чому WP має стільки цих функцій, що просто викликають іншу функцію, яку ми тоді не повинні використовувати ...
coopersita

У цьому випадку я думаю, що причина - просто підтримка зворотної сумісності з get_bloginfo()параметрами.
Чіп Беннетт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.