WordPress – це багатофункціональна система управління контентом, що володіє гнучкістю і розширюваністю. Якщо продукт розширюємо, то люди зможуть зробити свій внесок у його розвиток, що призводить до народження цілої спільноти, готового допомогти розвитку проекту.

Це як замкнене коло, в якому хороший продукт створює навколо себе співтовариство ентузіастів, які бажають зробити цей продукт ще краще, і саме так платформа WordPress стала найпопулярнішою CMS в світі.

Сьогодні ми відкриваємо нову серію статей, присвячених одному з основоположних компонентів WordPress: тегам шаблонів.

Що таке теги шаблонів (template tags)?

Два основних властивості, що відображають гнучкість платформи WordPress – це можливість створювати «плагіни» (для розширення функціоналу) і «теми оформлення» (для зміни зовнішнього вигляду). Ці властивості є результатом успішної реалізації ключових концепцій WordPress: API і підсистем. Теги шаблонів є однією з основ побудови всієї системи CMS.

Теги шаблонів з’явилися ще задовго до самого WordPress. Він був представлений в b2 — платформі для ведення блогів, яку Метт Мулленвег і Майк Літтл злегка модернізували при створенні WordPress. Можна сказати, що це одна з перших функцій, реалізована ще до підтримки WP тем і плагінів.

У Кодексі WordPress, теги шаблонів описані наступним чином:
«Теги шаблонів використовуються в шаблонах вашого блогу для динамічного виведення інформації або налаштування сайту, надаючи для цього інструменти і дозволяє зробити його більш індивідуальним і цікавим».

Теги шаблонів – це PHP-функції, які доручають WordPress «зробити» або «отримати» що-небудь. І повірте, в цьому немає нічого складного, якщо ви знайомі з основами PHP і HTML.

Де знаходяться теги шаблонів?

Файли, в яких зберігаються функції для всіх тегів шаблонів, знаходяться в папці wp-includes.

Всього існує 9 різних файлів з закінченням template:

  • wp-includes/author-template.php — включає в себе теги шаблонів, пов’язані з автором;
  • wp-includes/bookmark-template.php — включає в себе теги шаблонів, пов’язані з закладками;
  • wp-includes/category-template.php — включає в себе теги шаблонів, пов’язані з таксономією та термінами, включаючи рубрики та теги;
  • wp-includes/comment-template.php — включає в себе теги шаблонів, пов’язані з коментарями;
  • wp-includes/link-template.php — включає в себе теги шаблонів, пов’язані з посиланнями (постійні посилання, посилання на прикріплені файли, посилання на архіви тощо);
  • wp-includes/nav-menu-template.php — включає в себе теги шаблонів, пов’язані з меню навігації;
  • wp-includes/post-template.php — включає в себе теги шаблонів, пов’язані із записами/публікаціями;
  • wp-includes/post-thumbnail-template.php — включає в себе теги шаблонів, пов’язані з мініатюрами записів;
  • wp-includes/general-template.php — включає в себе всі інші теги шаблонів.

Як можна використовувати теги шаблонів?

Вам буде нескладно зрозуміти принцип роботи шаблонних тегів, якщо ви знайомі з основами PHP, HTML і CSS. Так як теги шаблонів являють собою не що інше, як PHP-функції, то цілком зрозуміло, як ними користуватися. Але вам слід знати про них дещо ще.

Функції шаблонних тегів

Крім тегів вставки (Include Tags) і умовних тегів (Conditional Tags), функції тегів шаблону можна розділити на дві групи: ті, що «виводять», і ті, що «повертають». Ці два типи функцій формують основу тегів шаблону і дозволяють створювати нові теми оформлення.

Виявити «повертають» теги можна за їх назвами – у них перед ім’ям функції використовується приставка get_. Хоч вони і виглядають як похідне від звичайних функцій, але все ж несуть у собі унікальний код і повертають результат. Теги шаблонів, які виводять інформацію, зазвичай прив’язуються до get_ функцій. Давайте поглянемо на вихідний код функції the_ID():

Існують функції, яким можна ставити логічний $echo-параметр. Наприклад, функція буде виводити інформацію при встановленому параметрі TRUE, і повертати значення при параметрі FALSE. Не турбуйтеся, якщо заплуталися, так як ми познайомитися з параметрами всіх шаблонних тегів.

Параметри функцій шаблонних тегів

Параметри – це типи даних, які здатні змінювати поведінку тегів шаблону. За допомогою параметрів ви можете додавати до виведеним даним префікси і суфікси, обмежувати обсяг одержуваних даних, вилучати певні пункти списків і так далі. Без знань про доступні параметри для кожного тега шаблону, ви обмежуєтеся лише його поведінкою за замовчуванням.

Оголошення параметрів

Є три способи оголошення параметра функції:

За допомогою регулярних параметрів: більшість тегів шаблону приймають регулярні PHP-параметри, які можна розділяти комами:

ID ‘my_post_meta’, true );
?>

За допомогою рядка запиту (Query-string): деякі функції приймають параметри у вигляді рядка запиту, як показано в прикладі нижче:

‘. __( ‘Pages:’ ) . ‘&after=

&seperator= · ‘ );
?>

За допомогою масивів (array): кращий і більш «охайний» спосіб оголошення параметрів, ніж рядок запиту:

‘my-primary-menu’,
‘theme_location’ => ‘primary’,
‘after’ =>»
);
wp_nav_menu( $args );
?>

Пам’ятайте, що ви можете використовувати масиви замість параметрів запитів і навпаки, але не можна замінювати регулярні параметри параметрами Query-string або ж масивами. Якщо шаблонний тег приймає регулярні параметри, значить можна використовувати лише їх. Якщо тег приймає параметри рядка запиту або масив, можна використовувати і те, і інше.

Якщо заплуталися, то рекомендуємо вам ознайомитися зі сторінкою, присвяченій параметрами функцій шаблонних тегів.

На завершення

Тепер, коли ми познайомилися з основами використання тегів шаблону в WordPress, можна продовжити наше навчання. У наступних посібниках з цієї серії ми вивчимо кожен з шаблонних тегів (описаних у кримінальному Кодексі), і наведемо їх короткий опис, пояснимо параметри, і наведемо приклади використання кожного тега.

Це буде досить довгу подорож по світу шаблонних тегів, але ми постараємося зробити його як можна цікавіше.

Може бути, ви хочете розповісти нам і іншим читачам що-небудь про тегах шаблону? Для цього скористайтесь розміщеної нижче формою для коментарів. І якщо вам сподобалася ця стаття, не забудьте поділитися нею з друзями!

Переклад статті «The Tuts+ Guide to Template Tags: Introduction» був підготовлений дружною командою проекту Сайтостроение від А до Я.