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» був підготовлений дружною командою проекту Сайтостроение від А до Я.