Основная структура темы для WordPress
Тема WordPress - это, по сути, тема, расположенная вwp-content/themes/В папке, находящейся в каталоге, содержатся файлы, предназначенные для управления внешним видом и функциональностью веб-сайта. Понимание роли этих ключевых файлов является основой для его разработки.
Необходимый шаблонный файл для данной темы.
Каждая тема должна включать два основных файла:style.cssиindex.phpСреди них,style.cssЭти файлы используются не только для хранения стилей CSS, но и для размещения блоков комментариев в их заголовочной части, содержащих метаданные о теме сайта. WordPress опирается на эти данные для идентификации используемой темы.
/*
Theme Name: 我的自定义主题
Theme URI: https://example.com/my-theme
Author: 你的名字
Author URI: https://example.com
Description: 这是一个从零开始创建的自定义WordPress主题。
Version: 1.0
License: GPL v2 or later
Text Domain: my-custom-theme
*/ index.phpЭто файл-шаблон по умолчанию для отображения контента; когда WordPress не может найти более подходящий шаблон, он использует именно этот файл для форматирования страницы. Он служит своего рода “защитным барьером”, обеспечивающим единообразный внешний вид всех страниц на сайте.
Рекомендуемое чтение Создание качественных веб-сайтов: подробный гайд по настройке и оптимизации тем для WordPress。
Другие распространенные шаблонные файлы
Для более точного контроля над отображением различных страниц вам потребуется создать больше шаблонных файлов. Например,header.phpОбычно включает в себя объявление типа документа.<head>Заголовочные части страниц регионов и веб-сайтов;footer.phpТаким образом, в содержимое включается информация из футера страницы, а также закрывающие теги.sidebar.phpДля использования в боковой панели. Можно воспользоваться встроенными функциями WordPress.get_header()、get_footer()иget_sidebar()Вы можете легко включить эти элементы в другие шаблоны.
Кроме того, вы также можете создать…single.phpИспользуется для отдельной статьи.page.phpИспользуется для отдельных страниц.archive.phpИспользуется для архивации списков, а также…functions.phpЭтот специальный файл предназначен для добавления функций и особенностей, связанных с настройкой тем (тематических стилей отображения информации).
Создание шаблона главной страницы темы
Домашняя страница является лицом веб-сайта и, как правило, требует наиболее уникального дизайна. Мы начнем с ее создания…index.phpДавайте начнем и рассмотрим, как включить циклы для отображения контента.
Интеграция верхней и нижней части страницы (заголовка и футера)
Хорошей практикой является модульное разделение общих компонентов программы. Во-первых, создайте соответствующие модули в папке с вашим тематическим кодом (тематической папке проекта).header.phpиfooter.php. Вheader.phpВ тексте необходимо указать конкретные элементы, которые необходимо включить. Пожалуйста, предоставьте дополнительную информацию, чтобы я мог помочь с переводом.<!DOCTYPE html>Заявление…<html>Начало тега…<head>Регион (использование)wp_head()Хаки позволяют плагинам и темам вставлять код в нужные места, а также отображать логотип сайта, главную навигацию и другие элементы, составляющие начальную часть страницы.
Затем, вindex.phpВ начале используйте…<?php get_header(); ?>Давайте включим этот заголовок страницы.index.phpВ конце используйте…<?php get_footer(); ?>Для введения…footer.phpВ нем должно быть содержимое.wp_footer()Hook-based calls and closures</body></html>Теги.
Рекомендуемое чтение Полное руководство по разработке тем для WordPress: создание высокопроизводительных, пользовательских тем с нуля。
Используйте циклы для вывода статей.
Ядро WordPress состоит из так называемой “Циклы” (The Loop) – это фрагмент кода на PHP, который проверяет наличие статей и, в случае их наличия, отображает их по очереди.index.php\nget_header()После этого вы можете вставить следующий код базовых циклов:
<article id="post-<?php the_ID(); ?>" no numeric noise key 1006>
<h2><a href="/ru/</?php the_permalink(); ?>"></a></h2>
<div class="entry-content">
</div>
</article>
<p>Извините, никаких статей не найдено.</p> В этом коде,have_posts()иthe_post()Цикл, управляемый функцией.the_title()、the_permalink()иthe_excerpt()Теги-шаблоны используются для отображения конкретного содержимого статей. Таким образом, создается базовая страница с списком статей.
Нужно добавить стили и скрипты для данной темы.
Тема, не имеющая никакого стиля (нет настроек внешнего вида), не привлекательна для пользователей. Для правильной настройки внешнего вида сайта необходимо правильно добавить файлы CSS и JavaScript в соответствующие списки задач (квейры), как рекомендует WordPress. Это позволяет обеспечить соблюдение зависимостей между элементами интерфейса и предотвратить возникновение конфликтов при их использовании.
Правильный способ включения таблицы стилей:
несмотря на то, чтоstyle.cssЭто необходимо, но вы не должны прямо вставлять ссылку на это в HTML-код. Правильный способ — это использовать соответствующие теги или функции для формирования ссылок.functions.phpВ документе используютсяwp_enqueue_style()Функция. Сначала создайте её в корневом каталоге темы.functions.phpОткройте файл, а затем добавьте следующий код:
<?php
function my_theme_enqueue_styles() {
wp_enqueue_style( 'my-theme-style', get_stylesheet_uri() );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); Этот код определяет функцию, которая указывает WordPress, какой должен быть основной стилевой файл темы (main style sheet of the theme).get_stylesheet_uri()Полученный путь с идентификатором “my-theme-style” добавляется в очередь.add_action()Хук монтирует эту функцию на нужное место (то есть привязывает её к определённому событию или объекту).wp_enqueue_scriptsУбедитесь, что эта операция выполняется при загрузке страницы.
Внедрение пользовательского JavaScript-кода
Метод введения файла JavaScript аналогичен, но используется другой подход.wp_enqueue_script()Функция. Предположим, у вас есть функция, которая находится в определённом месте (например, в файле, модуле или классе программы).js/script.jsДля добавления файла вы можете поступить следующим образом:
Рекомендуемое чтение От начала до мастерства: Полное руководство по разработке тем для WordPress и практические уроки。
function my_theme_enqueue_scripts() {
wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/script.js', array(), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_scripts' ); Здесь параметры означают следующее: хэндл скрипта, URL скрипта, массив зависимостей (например…).array('jquery')версия программного обеспечения, номер версии, а также информация о том, загружается ли содержимое в нижней части страницы (в футере).trueОзначает «показывает» или «отражает».</body>Предварительная загрузка (preloading).
Расширение функционала тем (theme extension)
functions.phpЭто “инструментарий” темы – здесь вы можете добавлять различные функции для улучшения внешнего вида темы, не изменяя при этом основные файлы шаблона.
Добавить функцию поддержки тем (тематик).
WordPress предоставляет множество встроенных функций, однако их можно использовать только в том случае, если тема (theme), на которой работает сайт, явно указывает на их поддержку. Это реализуется с помощью специальных настроек или конфигурационных файлов темы.add_theme_support()Реализация функций. Например, для поддержки миниатюр статей (особенные изображения), пользовательского логотипа и HTML5-тегов можно использовать следующие подходы:functions.phpДобавьте следующее в текст:
function my_theme_setup() {
add_theme_support( 'post-thumbnails' );
add_theme_support( 'custom-logo' );
add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption' ) );
add_theme_support( 'title-tag' ); // 让WordPress管理页面标题
}
add_action( 'after_setup_theme', 'my_theme_setup' ); add_action( 'after_setup_theme', 'my_theme_setup' )Убедитесь, что эти настройки выполняются как можно раньше при инициализации темы.
Регистрация в навигационном меню
Чтобы пользователи могли настроить навигацию в разделе “Внешний вид – Меню” в бэкенде, необходимо заранее зарегистрировать местоположения элементов меню.register_nav_menus()Функция:
function my_theme_register_menus() {
register_nav_menus( array(
'primary' => __( '主导航菜单', 'my-custom-theme' ),
'footer' => __( '页脚菜单', 'my-custom-theme' ),
) );
}
add_action( 'init', 'my_theme_register_menus' ); После регистрации вы сможете использовать файлы шаблонов (например…).header.phpИспользуйте его в своём резюме.wp_nav_menu( array( 'theme_location' => 'primary' ) )Меню уже отображается.
резюме
С момента создания контента, содержащего…style.cssиindex.phpВы начали с основной папки вашего проекта и постепенно создали полноценную тему для WordPress. Понимая иерархию шаблонов, вы научились создавать специализированные файлы шаблонов, которые позволяют точно контролировать отображение различных типов страниц.wp_enqueue_style()иwp_enqueue_script()Использование инструментов для управления ресурсами является наилучшей практикой для обеспечения совместимости и производительности системы. В конце концов, это позволяет эффективно использовать все доступные ресурсы.functions.phpВы можете получить доступ к этому файлу.add_theme_support()иregister_nav_menus()Функции, такие как…, позволяют безопасно добавлять мощные возможности в вашу тему для WordPress. Овладев этими ключевыми шагами, вы получите прочную основу для самостоятельного разработания персонализированных тем для WordPress.
Часто задаваемые вопросы
Какие знания необходимы для разработки темы для WordPress?
Вам необходимы прочные знания HTML и CSS для создания структуры и стиля веб-страниц. Также важно освоить основы PHP, поскольку шаблоны тем WordPress в основном написаны на этом языке. Начальное знание JavaScript поможет добавлять интерактивные элементы в сайт. Кроме того, знакомство с основными концепциями WordPress (статьи, страницы, категории, теги) облегчит вашу работу в процессе разработки.
Почему для загрузки стилей необходимо использовать функцию wp_enqueue_style, а не просто добавлять ссылку на них напрямую?
Используйте напрямую.<link>Хардкодирование пути к таблице стилей с использованием тегов сопряжено с рядом проблем. Во-первых, такой подход не позволяет правильно учитывать взаимозависимости между элементами интерфейса: ваши стили могут зависеть от стилей какого-либо фреймворка. Во-вторых…wp_enqueue_styleПлагины или другие дополнения могут безопасно переопределять или изменять ваш стиль визуального оформления сайта. Самое важное – это то, что такой подход позволяет лучше сотрудничать с плагинами, отвечающими за кэширование данных и оптимизацию производительности сайта, обеспечивая правильный порядок и эффективность их работы при загрузке ресурсов. Это стандартная практика в экосистеме WordPress.
В чем разница между файлом functions.php и плагинами?
functions.phpКод, определенный в теме сайта, тесно связан с ее внешним видом и структурой. Поэтому при смене темы эти функции могут стать недоступными. Такой код подходит для реализации элементов, непосредственно влияющих на визуальное оформление и расположение контента на сайте: регистрационные формы, поддержка использования специальных изображений, настройка боковых панелей и т. д. В то время как функции, предоставляемые плагинами, обычно независимы от конкретной темы и предназначены для добавления универсальных возможностей сайта (контактные формы, оптимизация для поисковых систем и т. д.). Благодаря этому они сохраняются даже после смены темы. Если какая-либо функция не связана с внешним видом сайта, использование плагина, как правило, является более гибким решением.
Как сделать так, чтобы моя тема поддерживала многоязычный перевод?
Обеспечение поддержки международных языков в вашем дизайне тем (темах) является ключевым фактором для выхода на глобальный рынок. Во-первых, во всех местах, где отображается текст ваших тем, используйте функции перевода, предоставляемые WordPress. Например:__('文本', 'my-custom-theme')или_e('文本', 'my-custom-theme')которыйmy-custom-themeЭто было...style.cssТекстовое поле, определенное в коде. Затем с помощью такого инструмента, как Poedit, сканируются файлы тем (theme files) для генерации необходимого контента..potШаблонный файл, с помощью которого переводчики могут создавать тексты на разных языках..poи.moФайл. Наконец,functions.phpЧерезload_theme_textdomain()Функция загружает файл с переводами.
Что дальше, что дальше?
Расширенное чтение и практические знания
Следующие статьи связаны с темой этой статьи и подходят для дальнейшего углубленного чтения. Зачастую лучше начать с той статьи, которая наиболее близка к вашей текущей проблеме, а затем постепенно переходить к другим темам.
- Полное руководство по использованию Tailwind CSS: практический путь обучения от нуля до мастерства
- Почему стоит выбрать Tailwind CSS – эффективное и практичное решение для современного веб-разработчика?
- Почему выбирают WordPress в качестве основной платформы для создания веб-сайтов?
- Полное руководство по созданию веб-сайтов: полный процесс от начала до запуска в сети с подробным описанием технологического стека
- 10 необходимых приемов дизайна и разработки тем для WordPress, способствующих повышению профессионального уровня веб-сайта