З нуля: вивчаємо основи тематики WordPress.
Щоб зрозуміти процес розробки тем для WordPress, спочатку необхідно усвідомити їхню основну структуру. Тема для WordPress по суті є набором файлів, які разом визначають зовнішній вигляд та функціонал веб-сайту – це включає стилішні таблиці, шаблони, скрипти функцій, а також зображення та інші ресурси. Основним файлом теми є… style.css 和 index.phpПерший файл є “паспортом” теми та файлом визначення стилів, а другий файл – це шаблон за замовчуванням.
Файл заголовків інформації про тему
У кореневому каталозі кожної теми має бути присутній файл. style.css Файл містить спеціальний коментар у своєму вступному розділі, який використовується для передачі основної інформації про тему WordPress. Ця інформація є ключовою для того, щоб WordPress впізнав та активував цю тему.
/*
Theme Name: 我的第一个主题
Theme URI: https://example.com/my-first-theme
Author: 开发者名称
Author URI: https://example.com
Description: 这是一个用于学习 WordPress 主题开发的简单主题。
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: my-first-theme
*/ Зокрема,Text Domain Використовується для інтернаціоналізації та є ключовим ідентифікатором для подальшого завантаження файлів з перекладами.
Рекомендуємо до прочитання. Вступ до розробки тем для WordPress: створення власних веб-сайтів з нуля。
Функція основного шаблонного файлу
Окрім style.cssТема має містити принаймні один файл PHP-шаблону. Найбазовіша версія такого файлу виглядає ось так: index.phpЦе базовий шаблон для всіх сторінок. Він використовується, коли WordPress не може знайти більш специфічний шаблон. Серед інших важливих шаблонів – ті, які використовуються для відображення окремих статей. single.phpВикористовується для відображення списку статей. archive.phpВикористовується для відображення сторінки. page.php А також визначення верхньої та нижньої частин сайту (тобто елементів, які розташовані вгорі та внизу сторінки сайту). header.php 和 footer.php。
Структура основного шаблону теми:
WordPress використовує систему ланцюгових шаблонів для визначення того, який шаблонний файл має бути використаний для сторінки, на яку надійшов запит. Ця система діє за принципом від спеціальних до загальних шаблонів, що дозволяє розробникам створювати дуже детально налаштовані дизайни для різних типів сторінок.
Розуміння порядку завантаження шаблонів
Коли користувач відвідує статтю в блозі, WordPress послідовно шукає наступні файли-шаблони:single-{post-type}-{slug}.php、single-{post-type}.php、single.phpІ на завершення singular.php 和 index.phpНаприклад, для сторінки під назвою “about” (тип поста – page) WordPress спочатку буде шукати… page-about.phpПотім шукайте. page.phpІ лише після цього його використовують. index.php。
Створення файлів зі стандартними шаблонами
Функціонально повноцінна тема зазвичай містить наступні базові шаблонні файли:
- header.phpМістить оголошення про тип документа.<head> Частина веб-сайту, що відповідає певній географічній області чи розділу (наприклад, навігаційний меню). Може використовуватися в інших шаблонах. get_header() Інтродукція функцій.
- footer.phpМістить кінцеву частину веб-сайту (наприклад, інформацію про авторські права). Використовуйте цей фрагмент коду для оформлення відповідних елементів на сайті. get_footer() Інтродукція функцій.
- index.phpГоловний шаблон є остаточним резервним варіантом для всіх сторінок.
- page.php: Використовується для відображення статичних сторінок.
- single.phpвикористовується для відображення однієї статті.
- archive.phpВикористовується для відображення інформації про категорії, теги, авторів, дати тощо на сторінках архіву.
Розділяючи ці частини, можна значно покращити повторне використання коду та його зручність у обслуговуванні. У основній циклічній шаблоні зазвичай використовується структура, схожа на наступну:
Рекомендуємо до прочитання. Практичний посібник з розробки тем для WordPress: створення власної архітектури та шаблонів тем з нуля。
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// 显示文章内容
the_title( '<h2>', '</h2>' );
the_content();
endwhile;
else :
// 如果没有文章
echo '<p>暂无内容。</p>';
endif;
?> Використовуйте функції та хаки для покращення функціоналу теми.
Хороший тематичний дизайн має не лише гарний вигляд, але й високу розширюваність. Це досягається завдяки двом основним функціям WordPress: функціям (Functions) та гакам (Hooks). Головний файл теми (main file) відіграє ключову роль у реалізації цих можливостей. functions.php Це основне місце для додавання цих функцій.
Файл з функціями теми
functions.php Файл автоматично завантажується під час ініціалізації теми та використовується для визначення її функцій, реєстрації меню та бічних панелей, а також для додавання різних фільтрів та дій. Він є своєрідним “мозком” теми, який керує
Наприклад, код для реєстрації навігаційного меню та увімкнення функції зображень у виді скорочень статей виглядає так:
<?php
function my_theme_setup() {
// 注册一个导航菜单位置
register_nav_menus( array(
'primary' => __( '主导航菜单', 'my-first-theme' ),
) );
// 启用文章特色图像支持
add_theme_support( 'post-thumbnails' );
}
add_action( 'after_setup_theme', 'my_theme_setup' );
?> Тут використовуються дієві хаки (action hooks). after_setup_themeВоно дозволяє нам виконувати власні функції після того, як ми завершимо базове налаштування теми. my_theme_setup。
Розуміння дій та фільтрів
Хаки (hooks) поділяються на два типи: дії (Actions) та фільтри (Filters). Дії дозволяють вам вставляти та виконувати власний код у певний момент часу – наприклад, виводити якийсь текст після основного контенту статті. Фільтри, у свою чергу, дозволяють змінювати дані, які генеруються під час роботи системи WordPress.
Наприклад, для зміни довжини тексту у резюме можна використовувати фільтри:
Рекомендуємо до прочитання. Посібник з розробки тем для WordPress: створення професійних тем з нуля。
<?php
function my_excerpt_length( $length ) {
return 20; // 将摘要长度改为20个单词
}
add_filter( 'excerpt_length', 'my_excerpt_length' );
?> А для додавання заяви про авторські права в кінці статті використовуйте відповідну дію (акцію).
<?php
function my_post_footer( $content ) {
if ( is_single() ) {
$content .= '<p class="copyright">本文版权归本站所有。</p>';
}
return $content;
}
add_filter( 'the_content', 'my_post_footer' );
?> Реалізація респонсивного дизайну та налаштування теми
Сучасні теми для WordPress мають бути респонсивними та надавати зручні можливості для налаштувань. Це можливо завдяки поєднанню технологій CSS та вбудованого API WordPress для створення індивідуальних дизайнів.
Використовувати респонсивний CSS для дизайну додатків
Реактивний дизайн зазвичай реалізується за допомогою медіа-запитів у CSS. style.css У цьому коді ви можете визначати стилі для різних ширин екранів.
/* 基础样式 */
.container {
width: 100%;
padding: 20px;
}
/* 平板设备(宽度大于768px) */
@media (min-width: 768px) {
.container {
width: 750px;
margin: 0 auto;
}
}
/* 桌面设备(宽度大于992px) */
@media (min-width: 992px) {
.container {
width: 970px;
}
} Інтеграція налаштувань користувацьких змінників
Конфігуратор WordPress (Customizer) дозволяє користувачам в реальному часі переглядати та змінювати налаштування теми. functions.phpВи можете додати до теми різні опції, такі як завантаження логотипу, вибір кольору тощо.
Ось приклад опції для додавання тексту авторських прав у футер:
<?php
function my_theme_customize_register( $wp_customize ) {
// 添加一个设置项
$wp_customize->add_setting( 'footer_copyright_text', array(
'default' => '© 2026 我的网站。',
'sanitize_callback' => 'sanitize_text_field',
) );
// 为设置项添加一个控件(输入框)
$wp_customize->add_control( 'footer_copyright_text', array(
'label' => __( '页脚版权文本', 'my-first-theme' ),
'section' => 'title_tagline', // 放在“站点身份”区域
'type' => 'text',
) );
}
add_action( 'customize_register', 'my_theme_customize_register' );
?> У файлі шаблону footer.php У цьому випадку ви можете вивести значення цього параметра наступним чином:
<p class="site-info">
<?php echo esc_html( get_theme_mod( 'footer_copyright_text', '© 2026 我的网站。' ) ); ?>
</p> підсумок
Розробка тем для WordPress – це комплексна процес, який об’єднує в собі знання PHP-програмування, структури HTML, стилізації CSS та API-інтерфейсів самого WordPress. Починаючи з розуміння найбазовіших принципів… style.css Почніть з файлів-шаблонів та поступово опануйте систему їхнього рівневого організаційного структурування; навчіться ефективно використовувати ці шаблони у своїй роботі. functions.php Використання хуків (hooks) для розширення функціоналу дозволяє створювати респонсивні теми з розширеним набором налаштувань. Це чіткий шлях до того, щоб стати кваліфікованим розробником тем для системи WordPress. Дотримання офіційних стандартів кодування та найкращих практик під час розробки не лише гарантує якість та безпеку теми, але й закладає міцну основу для її подальшого обслуговування та оновлень.
Часті запитання
Які передумовні знання необхідні для вивчення розробки тем для WordPress?
Рекомендується мати базові знання HTML та CSS – це основа для створення веб-сторінок. Також необхідно мати загальне уявлення про PHP, адже ядро WordPress та його система шаблонів в основному побудовані на PHP. Початкові знання JavaScript будуть корисними під час розробки інтерактивних функцій у подальшому.
Чи можуть виникнути конфлікти між файлами functions.php основної теми та файлами functions.php підтеми?
Не буде конфліктів – обидва елементи будуть завантажені. Підтема (subtopic) також буде доступна для використання. functions.php Файл буде розташований у відповідному підтемі батьківського тематичного розділу. functions.php Файл завантажується після основного коду теми. Це означає, що ви можете додавати нові функції до підтеми або перевизначати функції, визначені у батьківській темі (за умови, що ці функції були оголошені як піддаючіся перевизначенню). Це рекомендований спосіб безпечного змінен
Як зробити так, щоб мій сайт підтримував кілька мов (інтернаціоналізацію)?
Вам потрібно використовувати функції інтернаціоналізації WordPress для обгортання всіх текстових рядків, які потрібно відображати на інтерфейсі. Основними інструментами для цього є: __() 和 _e() Функції, а також вказати, де вони мають виконуватися. style.css Визначене в Китаї. Text DomainПотім використовуйте такі інструменти, як Poedit, для створення шаблонних файлів формату .pot. Ці шаблони призначені для того, щоб перекладачі могли генерувати файли форматів .po та .mo. Готові файли потрібно розмістити у відповідних папках теми (theme). /languages/ У каталозі.
Під час розробки продуктів для комерційного використання важливо враховувати наступні юридичні та нормативні аспекти:
Найважливіше – дотримуватися ліцензії GNU GPL, яка поширюється на сам WordPress. Це означає, що частина коду вашого тематичного дизайну, написана на мові PHP, має бути заснована на ліцензії, сумісній з GPL. Зазвичай весь тематичний дизайн успадковує властивості цієї ліцензії. Крім того, ви повинні переконатися, що всі використовувані вами сторонні ресурси (іконки, шрифти, бібліотеки JavaScript тощо) мають відповідні комерційні ліцензії. Щодо стандартів коду, необхідно дотримуватися офіційних вимог WordPress та пройти базову перевірку за допомогою плагіна Theme Check, щоб збільшити шанси на включення вашого тематичного дизайну до офіційного каталогу WordPress.
Наступний крок, що робити далі?
Для подальшого читання та практичних знань
Наступні матеріали пов'язані з темою цієї статті і можуть бути корисними для подальшого вивчення. Зазвичай краще починати з статей, які найбільш тісно пов'язані з вашим поточною проблемою, а потім поступово переходити до суміжних тем.
- Посібник з розробки тем для WordPress: створення власних веб-сайтів з нуля
- Повний посібник з розробки тем для WordPress: практичний курс від нуля до майстерності
- Повний посібник з розробки тем для WordPress: створення професійних шаблонів веб-сайтів з нуля
- Практичний посібник з розробки тем для WordPress: створення респонсивних корпоративних веб-сайтів з нуля
- Створення тем для WordPress без використання коду: повний посібник від початківців до досвідчених користувачів