Понимание основной структуры темы WordPress
Прежде чем приступать к написанию кода, крайне важно понимать структуру темы WordPress. Основная тема обычно включает по меньшей мере два файла: один из них содержит стилевые правила (шаблон), которые определяют внешний вид темы, а другой – PHP-шаблон, используемый для отображения контента веб-сайта. Эти файлы вместе формируют основу темы и соблюдают определенную структуру каталогов и правила наймения имен.
Ключевым файлом является…style.cssЭтот файл не содержит только CSS-стили; блок комментариев в его заголовке является своего рода “идентификационным документом” темы. В этом блоке системе WordPress указываются такие метаданные темы, как её название, автор, описание, версия и другая важная информация. Если блок комментариев не сформатирован правильно, это может привести к проблемам с работой темы.style.cssВ этом случае WordPress не сможет распознать и активировать ваш тематический дизайн (тему).
Еще одним необходимым файлом является…index.phpЭто основной шаблон для создания тем (theme template). Когда WordPress не может найти более специфический шаблон (например, шаблон, предназначенный для конкретной функции или элемента интерфейса), он использует этот основной шаблон для формирования отображаемого контента.single.phpилиpage.phpПри использовании данного шаблона он будет автоматически применяться для отображения страницы. Он является резервным вариантом для всех шаблонных файлов.
Рекомендуемое чтение Раскрываем секреты разработки тем для WordPress: ключевые технологии для создания настраиваемых веб-сайтов с нуля.。
Документ с изложением темы информационного сообщения.
Стильный шаблон для темы (Theme Style Sheet)style.cssВ заголовке обязательно должны содержаться определенные комментарии (аннотации). Вот пример наиболее простого варианта реализации:
/*
Theme Name: 我的第一个主题
Theme URI: https://example.com/my-first-theme/
Author: 你的名字
Author URI: https://example.com/
Description: 这是一个用于学习的简单WordPress主题。
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: my-first-theme
*/ Среди них,Text DomainИспользуется для интернационализации; представляет собой идентификатор, который применяется при последующем переводе текста. Этот файл обычно также содержит весь ваш код стилей CSS.
Основной шаблонный файл
index.phpФайл является входом в тему (то есть средством для получения информации, связанной с этой темой). Один из самых простых примеров использования файла в этом контексте…index.phpМожно использовать простой цикл, который будет вызывать основные функции ядра WordPress с целью получения и отображения списка статей.
<!DOCTYPE html>
<html no numeric noise key 1005>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body no numeric noise key 1002>
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_title( '<h2>', '</h2>' );
the_content();
endwhile;
endif;
?>
</body>
</html> В этом коде,wp_head()иwp_footer()Это два важных механизма, которые позволяют ядру WordPress, плагинам и другим скриптам вставлять необходимый код в начало и конец страницы – стили, скрипты, мета-теги и т. д.
Создайте локальную среду разработки
Перед развертыванием темы на онлайн-сервере создание локальной среды разработки является наиболее эффективным и безопасным подходом. Локальная среда позволяет свободно тестировать код, отлаживать ошибки, не влияя на работу онлайн-сайта.
Рекомендуемое чтение Полное руководство по разработке тем для WordPress: от начального уровня до продвинутого.。
Выберите программное обеспечение для локального сервера.
Для начинающих интегрированные программы для работы с локальными серверами являются наилучшим выбором. Они объединяют в себе серверы Apache/Nginx, фреймворк PHP и базу данных MySQL, и их можно установить всего одним кликом. Среди популярных вариантов – XAMPP, Local by Flywheel и DevKinsta. Эти инструменты имитируют реальную среду веб-сервера, позволяя запускать систему управления контентом WordPress прямо на вашем компьютере.
Установите WordPress и создайте каталог с темами (theme directory).
После запуска на локальном сервере вам потребуется установить новую версию WordPress. Скачайте последнюю сжатую версию WordPress, распакуйте её в корневой каталог веб-сайта на локальном сервере (например, в папку htdocs, предназначенную для хранения сайтов в XAMPP). Затем откройте в браузере локальный адрес (например, http://localhost) и выполните известную процедуру установки, которая занимает всего пять минут.
После завершения установки перейдите в интерфейс WordPress.wp-content/themesКаталог. Создайте здесь новую папку для темы, которую собираетесь разрабатывать; название папки может быть, например, “my-first-theme”. Те папки, которые вы уже создали ранее, остаются в своих местах.style.cssиindex.phpФайлы следует размещать именно в этой папке. Теперь войдите в облачную консоль WordPress и перейдите в раздел “Внешний вид” -> “Темы”; там вы должны увидеть свою тему. Хотя её функционал пока довольно простой.
Создание системы базовых шаблонных файлов
Толькоindex.phpТема сама по себе является недостаточной для создания функционального сайта. Для полноценного функционирования сайта необходим набор шаблонов, позволяющих отображать контент в различных форматах: отдельные статьи, отдельные страницы, архивы статей и т. д. Система уровней шаблонов в WordPress автоматически выбирает наиболее подходящий шаблон для отображения запрошенной страницы.
Статьи и шаблоны страниц.
single.phpШаблон предназначен для отображения отдельной статьи блога. Когда пользователь нажимает на кнопку для прочтения полного текста статьи, WordPress использует этот шаблон. Он обычно включает более подробную информацию о статье: категории, теги, автора и раздел для комментариев.
page.phpШаблоны используются для отображения отдельных статических страниц (например, страниц “О нас” или “Контакты”). Отличие их от шаблонов статей заключается в том, что на таких страницах обычно не отображаются такие элементы, как время публикации или категория, характерные для статей блога.
Рекомендуемое чтение Подробное руководство по разработке тем для WordPress: полное руководство от новичка до профессионала.。
Шаблоны для верхней и нижней части страницы
Для соблюдения принципа DRY (Don’t Repeat Yourself – Не повторяйте себя) темы WordPress обычно разделяют части страницы, отвечающие за верхнюю (Header) и нижнюю (Footer) части, на отдельные файлы.
header.phpФайл содержит весь код, начиная с самого начала и до области основного содержимого страницы, включая различные элементы интерфейса (регионы, идентификаторы сайта, главный навигационный меню и т. д.).index.php、single.phpВ других шаблонах также используется…get_header()Для использования этой функции необходимо её импортировать (включить в программу).
Аналогичным образом…footer.phpФайл содержит всё содержимое футера, такое как информация об авторских правах, вспомогательная навигация и т. д., и это содержимое передается…get_footer()Введение функций. Кроме того…sidebar.php(Боковая панель) Также часто разделяется на отдельные части и используется отдельно.get_sidebar()Вызов.
Рефакторизованныйindex.phpБудет очень лаконично.
<?php get_header(); ?>
<main>
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// 文章内容输出
endwhile;
endif;
?>
</main>
<?php get_sidebar(); ?>
<?php get_footer(); ?> Интеграция стилей и скриптов
Современные сайты требуют правильной и эффективной загрузки таблиц стилей CSS и скриптов JavaScript. WordPress предоставляет специальные функции для управления этими ресурсами, обеспечивая их загрузку в правильном порядке зависимостей, а также предотвращая их многократное включение или возникновение конфликтов между ними.
Использование очереди функций для добавления стилей
Правильный способ – это…wp_enqueue_style()Функция добавляет таблицу стилей в очередь. Вам необходимо создать элемент в теме с именем…functions.phpЭто файл, который является ключевым элементом функционала темы; он используется для добавления различных особенностей, функций и изменения параметров по умолчанию.
Вfunctions.phpВ этом случае вы можете подключить (монтировать) функцию к определённому объекту или структуре данных.wp_enqueue_scriptsНа этом действии есть хук (hook):
function my_first_theme_scripts() {
// 为主题的主样式表排队
wp_enqueue_style( 'main-style', get_stylesheet_uri() );
// 引入一个Google字体
wp_enqueue_style( 'google-font', 'https://fonts.googleapis.com/css2?family=Roboto&display=swap', array(), null );
}
add_action( 'wp_enqueue_scripts', 'my_first_theme_scripts' ); get_stylesheet_uri()Функция автоматически получает информацию о теме (тематике) данного объекта.style.cssПуть к файлу. Благодаря такому способу загрузки WordPress может лучше управлять своими ресурсами.
Добавление скриптов с использованием очереди функций
Для загрузки JavaScript-скриптов также используется очередь; соответствующей функцией является…wp_enqueue_script()Вы можете добавить их в одну и ту же функцию.
function my_first_theme_scripts() {
// ... 加载样式的代码同上 ...
// 加载主题的主JavaScript文件,依赖于jQuery,并放在页脚
wp_enqueue_script( 'main-js', get_template_directory_uri() . '/js/main.js', array( 'jquery' ), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_first_theme_scripts' ); Здесь,array( 'jquery' )В скрипте указано, что он зависит от основной библиотеки jQuery, поэтому WordPress обеспечит её загрузку перед загрузкой самого скрипта. Последний параметр…trueЭто означает, что скрипт размещается в нижней части страницы (а не в её верхней или средней части). Такой подход способствует улучшению скорости загрузки страницы.
резюме
Разработка темы для WordPress с нуля представляет собой систематический процесс обучения, включающий в себя множество ключевых этапов: понимание основной структуры файлов, настройку локальной среды разработки, создание системы шаблонов, а также правильную интеграцию всех необходимых ресурсов. Получая практический опыт в процессе создания собственных тем, вы углубляете свои знания и навыки в области разработки веб-сайтов на базstyle.css、index.php、header.php、footer.phpслишкомfunctions.phpВы не только создали работоспособный тематический дизайн, но и глубоко поняли принципы работы иерархии шаблонов и системы хуков (hooks) в WordPress. Помните, что ключ к разработке тематик заключается в соблюдении стандартов и рекомендаций WordPress — это обеспечивает их совместимость, эффективность и удобство обслуживания. Исходя из этого, вы сможете изучить более сложные функции, такие как настройка пользовательских типов статей, инструменты для кастомизации тематики и различные элементы интерфейса, постепенно создавая мощные и уникальные персонализированные тематики.
Часто задаваемые вопросы
Для разработки тем (тематических разделов или модулей для сайтов) обязательно нужно владеть PHP?
Да, знание PHP является обязательным условием для разработки тем для WordPress. Сам WordPress написан на PHP, и все файлы шаблонов (например…index.php、single.phpВсе эти файлы являются PHP-файлами, и они используют PHP-код для вызова основных функций WordPress с целью динамического генерирования содержимого страниц. Кроме того, эти файлы также предназначены для добавления дополнительных функциональных возможностей в сайт.functions.phpФайл полностью состоит из кода на PHP. HTML и CSS используются для определения структуры и внешнего вида страницы, в то время как PHP является основой для реализации динамических функций и взаимодействия с данными.
Какова функция файла functions.php, связанного с темой (theme)?
functions.phpФайл является “центром функциональности” вашей темы. Это не шаблонный файл, который не создает непосредственно какую-либо часть страницы. Вместо этого он используется для хранения всего PHP-кода, необходимого для изменения и расширения функционалов темы. Распространенные случаи применения включают: настройку расположения элементов навигации, определение областей для размещения вспомогательных инструментов и многое другое.wp_enqueue_scriptsВ этом файле добавляются CSS- и JavaScript-файлы, реализуется поддержка определенных функций темы (например, создание миниатюр статей, настройка пользовательского фона), а также определяются различные пользовательские функции. Этот файл автоматически загружается при активации соответствующей темы.
Как сделать так, чтобы моя тема поддерживала несколько языков?
Чтобы тема поддерживала многие языки (интернационализация и локализация), необходимо выполнить два основных шага. Первый шаг – использование специальных функций WordPress для перевода во всех местах текста, которые требуют перевода.__('文本', 'text-domain')или_e('文本', 'text-domain')которыйtext-domainДолжно соответствовать…style.cssЗаявленное в…Text DomainСогласно описанию, второй шаг заключается в использовании таких инструментов, как Poedit, для сканирования кода темы и генерации необходимых данных..potШаблонные файлы – это файлы, на основе которых создатели переводят контент на соответствующий язык (например, на китайский)..poИ после компиляции.moФайл должен быть помещён в соответствующий раздел или папку, связанную с темой./languages/Файлы находятся в соответствующем каталоге. WordPress автоматически загружает нужные переводы в зависимости от настроек языка сайта.
В чем разница между темами (topics) и плагинами (plugins)?
Темы и плагины в WordPress выполняют совершенно разные функции. Тема (Theme) отвечает за внешний вид сайта – его визуальное оформление, стиль, расположение элементов и структуру шаблонов. Именно тема определяет, “как выглядит” сайт. Плагины (Plugins), напротив, предназначены для добавления к сайту определенных функций; эти функции работают независимо от того, какая тема используется (например, создание форм для связи с пользователем, оптимизация для поисковых систем (SEO), добавление функций электронной коммерции и т. д.). Они определяют, “что может делать” сайт. Хорошей практикой считается размещение кода, связанного с визуальным оформлением и структурой сайта, внутри темы, а кода, отвечающего за его основные функции, – в виде отдельных плагинов. Это позволяет избежать потери важных функций при смене темы.
Что дальше, что дальше?
Расширенное чтение и практические знания
Следующие статьи связаны с темой этой статьи и подходят для дальнейшего углубленного чтения. Зачастую лучше начать с той статьи, которая наиболее близка к вашей текущей проблеме, а затем постепенно переходить к другим темам.
- Разработка тем для WordPress: от основ до мастерства: полное руководство по созданию персонализированных веб-сайтов
- Разработка тем для WordPress с нуля: создание уникального интерфейса веб-сайта
- Как выбрать и настроить идеальную тему для WordPress, подходящую именно вам?
- Руководство по разработке тем для WordPress: Создание пользовательских сайтов с нуля
- Полное руководство по разработке тем для WordPress: практический курс от начала до мастерства