Основні поняття розробки тем для WordPress
Перш ніж почати писати код, дуже важливо зрозуміти основну структуру теми WordPress. Тема по суті є папкою, яка містить низку файлів, які разом визначають зовнішній вигляд та деякі функції веб-сайту. Система WordPress відображає вміст сторінок, читаючи ці файли.
Найбазовіша тема потребує щонайменше двох файлів:style.css和index.phpСеред них,style.cssКрім того, що цей файл відповідає за стиль відображення веб-сайту, блок коментарів на початку його коду містить метаінформацію про тему – назву теми, автора, опис, версію тощо. Саме ця інформація використовується системою WordPress для ідентифікації вибрано
WordPress використовує систему ланцюгових шаблонів для визначення того, який файл шаблону має бути використаний для певної сторінки. Наприклад, під час перегляду окремої статті WordPress спочатку шукає відповідний шаблон для статті.single.phpПід час відвідування сторінки зі списком статей блогу відбувається пошук потрібної інформації.index.php或home.phpПід час відвідування сторінки програма шукає потрібну інформацію.page.phpРозуміння цих ієрархічних відносин допоможе вам правильно розташовувати код у відповідних місцях.
Рекомендуємо до прочитання. Від нуля до одиниці: детальний опис основних технологій і передових практик створення сучасних веб-сайтів.。
Функція основних файлів теми (theme core files)
functions.phpФайл є центральним елементом функціоналу теми. Він не є обов’язковим, але майже всі сучасні теми використовують його. У цьому файлі можна додати функції, які підтримують конкретну тему, реєстраційні меню та бічні панелі, вставляти скрипти та таблиці стилів, а також визначати різноманітні користувацькі функції. Цей файл автоматично завантажується під час ініціалізації теми та є ключовим елементом для розширення її можливостей.
Ще одним ключовим файлом є…header.phpЗазвичай воно містить оголошення типу документа, регіони (для завантаження CSS та JS-файлів), а також спільні елементи веб-сторінки (заголовок сторінки).footer.phpЦей код містить спільний вміст для футера та теги завершення. Використовується функціями WordPress для реалізації цього.get_header()和get_footer()Ви можете легко включити їх у інші файли шаблонів, зберігаючи модульність та зручність обслуговування коду.
Створення локального середовища розробки та структури теми (theme structure)
Перед тим, як розгорнути тему на онлайн-сервері, створення локального середовища розробки є найефективнішим та найбезпечнішим способом. Ви можете використовувати такі інструменти, як XAMPP, MAMP, Local by Flywheel чи Docker, щоб швидко встановити на своєму комп’ютері сервери Apache, MySQL та PHP, а також запустити систему управління контентом WordPress.
Після того, як середовище буде готове, ви зможете почати створювати свій перший тематичний дизайн (тему) для сайту. Спочатку перейдіть до каталогу, де знаходиться встановлений WordPress.wp-content/themesПапка. Створіть тут нову папку та назвіть її ім’ям вашої теми, наприклад, “my-first-theme”. Усі файли, пов’язані з цією темою, будуть розміщені у цій папці.
Наступним кроком є створення базових файлів, про які йшлося вище. Почнемо з…style.cssФайл має містити певну інформацію про таблицю стилів у своєму заголовковому розділі.
Рекомендуємо до прочитання. Створення професійного веб-сайту: Повний посібник з розробки та налаштування тем для WordPress。
/*
Theme Name: My First Theme
Theme URI: https://example.com/my-first-theme/
Author: Your Name
Author URI: https://example.com/
Description: 这是一个用于学习的入门级WordPress主题。
Version: 1.0
License: GPL v2 or later
Text Domain: my-first-theme
*/ Потім створіть найбазовіший варіант.index.phpФайл. Спочатку він міг бути дуже простим – його основна функція полягала у тому, щоб забезпечити розпізнавання та активацію теми системою WordPress.
<!DOCTYPE html>
<html no numeric noise key 1004>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<p><strong> <p><strong>
</head>
<body no numeric noise key 1001>
<h1>Привіт, розробники тем для WordPress!</h1>
<p><strong>Цей текст повинен бути перекладений на українську мову.</strong></p>
</body>
</html> На цьому етапі увійдіть у веб-інтерфейс WordPress з обліковими даними адміністратора, перейдіть на сторінку “Вигляд” → “Теми”. Там ви повинні побачити свою тему. Активуйте її, а потім перейдіть на головну сторінку веб-сайту – там ви побачите просту інформацію, яка була виведена за допомогою наведеного вище коду. Таким чином ви успішно створили свій перший „порожній“ шаблон теми.
Створення шаблонів тем та циклів
Основною місією теми є відображення контенту, а відображення контенту у WordPress залежить від “циклів”. Цикли – це структури PHP-коду у WordPress, які використовуються для отримання статей (включаючи сторінки, власні типи статей тощо) з бази даних та їх відображення на сторінці.
Зрозуміти та реалізувати основний цикл.
Найбазовіша структура циклу виглядає таким чином та зазвичай використовується для виконання певних дій багаторазово.index.php或single.phpУ файлі шаблонів:
<!-- 在这里输出每篇文章的内容 -->
<h2><p><strong> <p><strong></h2>
<div><p><strong> <p><strong></div>
<p></p>
<p>Не знайдено жодної статті.</p>
<?php endif; ?> have_posts()Функція перевіряє, чи є статті, які потрібно відобразити.the_post()Функція встановлює дані поточної статті та робить їх доступними для використання у шаблонних тегах (наприклад,…)the_title()、the_content()Виклик.
Створення файлів зі стандартними шаблонами
Щоб тема могла професійно обробляти різні сторінки, вам потрібно створити серію шаблонних файлів. Крім того…index.phpЦей кінцевий шаблон для відкату також має включати створення наступних елементів:
Рекомендуємо до прочитання. Повний посібник з розробки тем для WordPress: від початківців до досвідчених фахівців。
header.phpВилучити код спільної заголовкової частини (common header code).footer.phpВилучити спільний нижній код.single.phpвикористовується для відображення однієї статті.page.phpВикористовується для відображення окремої сторінки.archive.phpВикористовується для відображення інформації про категорії, теги, авторів тощо на сторінках архіву.
Потім вам потрібно буде провести реконструкцію.index.phpВикористовуйте функції WordPress для імпорту модульних частин коду.
<main>
<?php while ( have_posts() ) : the_post(); ?>
<article>
<h2><a href="/uk/</?php the_permalink(); ?>"><p><strong> <p><strong></a></h2>
<?php the_excerpt(); ?>
</article>
<?php endwhile; ?>
</main> Таким чином, верхня та нижня частини сторінки керуються окремими файлами, а основний шаблон фокусується лише на логіці вмісту, характерній саме для цієї сторінки. Це забезпечує чітку структуру та полегшує її підтрим
Використовуйте файл functions.php для розширення функціоналу вашого тематичного дизайну.
functions.phpЦе ваша тема “Инструментарій”. Сюди можна додавати код для безпечного модифікування та розширення основних функцій WordPress, без необхідності змінювати самі файли ядра системи.
Функції, які підтримується під час реєстрації теми:
проходження (законопроект, перевірка тощо)add_theme_support()Функції дозволяють оголосити про підтримку різних можливостей теми. Наприклад, можна забезпечити підтримку фірмових зображень статей, користувацького логотипу та анотацій статей.
function my_first_theme_setup() {
// 让主题支持文章和页面的特色图像功能
add_theme_support( 'post-thumbnails' );
// 支持自定义Logo
add_theme_support( 'custom-logo', array(
'height' => 100,
'width' => 400,
'flex-height' => true,
'flex-width' => true,
) );
// 支持文章格式(可选)
add_theme_support( 'post-formats', array( 'aside', 'gallery', 'quote' ) );
// 为文章和页面开启HTML5标记支持
add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'style', 'script' ) );
}
add_action( 'after_setup_theme', 'my_first_theme_setup' ); Зверніть увагу: ми завантажили цю функцію (модуль) для використання.after_setup_themeЦей функціонал реалізований за допомогою спеціальних „хуків“ (hooks) у WordPress. Це стандартний хук, який виконується після завантаження теми, і саме тут слід ініціалізувати нову тему.
Меню реєстрації та скрипти стилів
Реєструйте позиції елементів навігаційного меню, щоб користувачі могли керувати ними у розділі “Вигляд” -> “Меню” на серверній стороні.
function my_first_theme_menus() {
register_nav_menus(
array(
'primary' => __( '主导航菜单', 'my-first-theme' ),
'footer' => __( '底部菜单', 'my-first-theme' ),
)
);
}
add_action( 'init', 'my_first_theme_menus' ); У файлі шаблону ви можете використовувати…wp_nav_menu( array( ‘theme_location’ => ‘primary’ ) )Щоб відобразити цей меню.
Наостанок, необхідно правильно включити файли CSS та JavaScript – це є однією з найкращих практик у розробці веб-сайтів.
function my_first_theme_scripts() {
// 引入主题的主要样式表
wp_enqueue_style( 'my-first-theme-style', get_stylesheet_uri(), array(), wp_get_theme()->get( ‘Version’ ) );
// 引入自定义的JavaScript文件
wp_enqueue_script( ‘my-first-theme-script’, get_template_directory_uri() . ‘/js/script.js’, array(‘jquery’), ‘1.0’, true );
}
add_action( ‘wp_enqueue_scripts’, ‘my_first_theme_scripts’ ); Використовуйтеwp_enqueue_style()和wp_enqueue_script()Функція, а також її монтаж…wp_enqueue_scriptsГачки (hooks) є офіційно рекомендованим способом використання в WordPress. Вони дозволяють керувати залежностями між компонентами системи, уникати їхнього багаторазового завантаження та забезпечувати сумісність з різними плагінами та іншими мод
підсумок
Від створення об’єкта, який містить…style.css和index.phpПочинаючи з роботи з папками, потім переходячи до розуміння структури шаблонів та механізмів “циклічності”, а нарешті до їх ефективного використання…functions.phpВи додали багато функцій до свого файлу-теми, і ви вже пройшли основні етапи розробки тем для WordPress. Ключ до успішної розробки теми – це модульне мислення: необхідно розділяти повторювані елементи (наприклад, верхню та нижню частини сторінки) на окремі файли.functions.phpФункція централізованого управління дозволяє ефективно керувати всіма аспектами сайту, а правила ієрархії шаблонів WordPress визначають логіку відображення контенту. Опанувавши ці основи, ви отримаєте необхідні знання для створення персоналізованих веб-сайтів. Потім ви зможете досліджувати додаткові можливості WordPress, такі як розділи з додатковими інструментами, налаштування типів статей, API для кастомізації тем тощо, що допоможе значно розширити ваші навички розробки в цьому середови
Часті запитання
Що робити, якщо після зміни теми веб-сторінка не оновлюється одразу?
Зазвичай це спричинено кешем браузера або механізмом кешування WordPress. Спочатку спробуйте зробити примусове оновлення в браузері, натиснувши Ctrl+F5 (або Cmd+Shift+R). Якщо проблема залишиться, перевірте, чи використовуєте ви плагіни для кешування або механізми кешування на стороні сервера, та спробуйте очистити весь кеш. Щодо файлів CSS та JS…wp_enqueue_style和wp_enqueue_scriptУ функції можна встановити динамічне значення для параметра, що позначає версію (наприклад,time()Під час розробки слід уникати використання кешу, але перед запуском продукту необхідно змінити версійний номер на фіксований.
Чому моя тема не відображається у фоновій частині сайту (у бекенді)?
Спочатку переконайтеся, що ваша папка з темами розташована у правильному шляху.wp-content/themes/По-друге, переконайтеся, що…style.cssБлок коментарів на початку файлу має правильний формат; особливо необхідний рядок “Theme Name:”. Нарешті, переконайтеся, що налаштування прав доступу до папки з темою та її вмістних файлів є коректними, а веб-сервер (наприклад, Apache) має права на читання цих файлів.
Як додати бічну панель до мого тематичного сайту?
Додавання бічної панелі відбувається у два кроки. Спочатку…functions.phpВикористовуйте його у Китаї.register_sidebar()Функція реєструє одну або кілька зон для використання підказок чи додаткових інструментів. Потім, у файлі шаблону, де ви бажаєте показати бічну панель, ці зони можна використовувати для розміщення відповідного контенту.sidebar.phpУ цьому документі використовується…dynamic_sidebar()Функція слугує для її виклику. Крім того, вам потрібно це зробити у основному шаблонному файлі (наприклад,index.phpВикористовується у (…)get_sidebar()Для вставки шаблону бічної панелі…
Як гарантувати сумісність розроблених тем із плагінами під час їх створення?
Дотримання стандартів кодування WordPress є основою для забезпечення сумісності. Щодо можливого додавання нового контенту плагінами, переконайтеся, що ваш тематичний дизайн (theme) належним чином обробляє цей новий контент.wp_head()和wp_footer()Функції, оскільки багато плагінів залежать від цих двох механізмів для вставки необхідного коду (наприклад, коду для статистики, CSS/JS). Крім того, під час відтворення змісту статті завжди використовується цей код.the_content()Функція використовується замість прямого доступу до бази даних; ця функція застосовує всі зміни, які були зроблені за допомогою плагіна та фільтра “the_content”.
Наступний крок, що робити далі?
Для подальшого читання та практичних знань
Наступні матеріали пов'язані з темою цієї статті і можуть бути корисними для подальшого вивчення. Зазвичай краще починати з статей, які найбільш тісно пов'язані з вашим поточною проблемою, а потім поступово переходити до суміжних тем.
- Чому варто обрати WordPress як основну платформу для створення веб-сайтів?
- Посібник з основ WordPress: створення вашого першого професійного веб-сайту з нуля
- Одноступінчате рішення для створення веб-сайту: повний посібник з реалізації від початку до запуску
- Передмова: Чому варто обирати WordPress для розробки?
- Керівництво для початківців з веб-розробки: від нуля до створення сучасного веб-сайту